我正在尝试使用 echo 服务测试此 XForm 的提交(我有自己的 echo Xquery 脚本,但也尝试使用基于 Web 的脚本,您可以在代码示例中看到)。我的检查显示 xforms-submit-done 事件确实被触发,但提交资源属性中的脚本没有被调用。相反,我在其中得到一个空白页面,并且 url 保持不变。
代码如下。
<html xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:xf="http://www.w3.org/2002/xforms" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Movie Review Selector</title>
<model xmlns="http://www.w3.org/2002/xforms">
<instance id="movies">
<movies xmlns="">
<movie id=""></movie>
</movies>
</instance>
<submission id="save" resource="http://xformstest.org/cgi-bin/echo.sh" method="post" replace="all">
<xf:message ev:event="xforms-submit-error" level="modal">Submission Error<xf:output value="event('error-type')"></xf:output>
</xf:message>
</submission>
</model>
</head>
<body>
<fieldset>
<legend>
<h3>Movie Selector</h3>
</legend>
<group xmlns="http://www.w3.org/2002/xforms" ref="instance('movies')">
<repeat nodeset="movie" id="idx">
<input ref="@id">
<label>Movie Id</label>
</input>
<trigger>
<label>Delete</label>
<delete nodeset="." ev:event="DOMActivate"></delete>
</trigger>
</repeat>
<trigger>
<label>Add</label>
<action ev:event="DOMActivate">
<insert nodeset="movie"></insert>
<setvalue ref="movie[last()]/@id" value=""></setvalue>
</action>
</trigger>
<submit submission="save">
<label>Submit</label>
</submit>
</group>
</fieldset>
</body>
</html>