我有以下 XForms 代码:
<?xml-stylesheet href="./xsltforms.xsl" type="text/xsl"?>
<?xsltforms-options debug="yes"?>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xf="http://www.w3.org/2002/xforms"
xmlns:ev="http://www.w3.org/2001/xml-events">
<head>
<title>XForms Submit Example</title>
<xf:model id="MyModel">
<xf:instance src="./Model.xml"/>
<xf:bind id="FirstName" nodeset="/MyData/FirstName"/>
<xf:submission id="save" method="put" action="./myData.xml" replace="none" />
<xf:submission id="loadDoc" action="./myData.xml" replace="instance" method="get" />
</xf:model>
</head>
<body>
<xf:input ref="FirstName" incremental="true">
<xf:label>Please enter your first name: </xf:label>
</xf:input>
<br/>
<br/>
Output First Name: <xf:output ref="FirstName" />
<br/>
<br/>
<xf:submit submission="save">
<xf:label>Save</xf:label>
</xf:submit>
<br/>
<br/>
<xf:submit submission="loadDoc">
<xf:label>Load</xf:label>
</xf:submit>
</body>
</html>
此表单包含一个文本框字段和两个按钮save
和load
,以及对文件的 1 个依赖项,Model.xml
即:
<?xml version="1.0" encoding="UTF-8"?>
<MyData>
<FirstName>John</FirstName>
<Data2>Two</Data2>
<Data3>Three</Data3>
</MyData>
问题是:当我在文本框中输入一些数据时,按保存按钮,模型应该保存到myData.xml
. 此文件存在于磁盘上且不是只读的
实际上什么也没发生,文件的数据也不会更新(顺便说一下加载按钮工作正常)。
这种行为的原因是什么以及如何解决这个问题并将输入的数据保存到外部文件?