我正在使用 XForms 的 XSLTForms 实现构建一个向导,但我遇到了多步骤表单的问题。当我完成 form1 中的数据并导航到 form2 时,在 form1 中输入的所有数据都消失了。为了导航,我使用触发器
<xf:trigger>
<xf:label>Next</xf:label>
<xf:action ev:event="DOMActivate">
<xf:load show="replace">
<xf:resource value="form2.xml"/>
</xf:load>
</xf:action>
</xf:trigger>
我想问题是我没有保存模型,所以我向我的模型添加了提交:
<xf:submission id="saveData" resource="data.xml" ref="instance('person')" method="put" validate="false" relevant="false" replace="none" />
所以我用提交替换了“下一个”触发器:
<xf:submit submission="saveData">
<xf:label>Next</xf:label>
<xf:action ev:event="DOMActivate">
<xf:load show="replace">
<xf:resource value="form2.xml"/>
</xf:load>
</xf:action>
</xf:submit>
但是仍然有一个问题:导航器要求用户写入文件的权限,我真的想在最后这样做,而不是在每个表单中。
有没有其他选择?非常感谢!
这里有一个更好理解的例子:
<xf:instance xmlns="">
<person>
<name/> <!--Form 01-->
<surname/> <!--Form 01-->
<height/> <!--Form 01-->
<weight/> <!--Form 01-->
<children>
<age/> <!--Form 02-->
<school-name/> <!--Form 02-->
</children>
<has-car/> <!--Form 03-->
<wanna-share-car/> <!--Form 03-->
</person>
</xf:instance>