我正在构建一个使用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" />
所以我更换了&#34; Next&#34;触发提交:
<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>
答案 0 :(得分:1)
XForms可用于设计单页应用程序。
使用XForms 1.1,所有应用程序都写入一个表单。案例可用于逐步显示控件。相关的MIP也可用于此。
诸如betterForm和XSLTForms之类的XForms实现添加了一个子表单机制,允许加载/卸载表单的各个部分。不幸的是,这并未包含在XForms 2.0提议的建议中,因此这是一种非标准机制。
XSLTForms中的子表单非常通用:它们可以共享相同的模型和实例,它们也可以拥有自己的。 XSLTForms不需要特定的操作或功能。
- 阿兰