我有关于页面加载事件的提交和xforms提交的问题: 有一个输入xform
<xforms:instance id="mypagedata.input">
<SOAP-ENV:Envelope>
<SOAP-ENV:Header>
<myheader />
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<mybody>give me content</mybody>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</xforms:instance>
服务器有一个输出xform
<xforms:instance id="mypagedata.output">
<SOAP-ENV:Envelope />
</xforms:instance>
还有一个使用输入和输出xml的subission函数
<xforms:submission
id="mypagedata.submission"
action="http://localhost/orbeon/xml/mypagedata"
mediatype="action=;application/soap+xml; charset=UTF-8"
encoding="UTF-8"
ref="instance('mypagedata.input')"
method="post"
replace="instance"
instance="mypagedata.output">
<xforms:send submission="mypagedata.submission" />
<xforms:toggle case="case_busy" events:event="xforms-submit" />
<xforms:toggle case="case_error" events:event="xforms-submit-error" />
<xforms:toggle case="case_mypagedata" events:event="xforms-submit-done" />
</xforms:submission>
</xforms:model>
我的开关标签
<xforms:switch>
<xforms:case id="mypagedata.default">
<xforms:trigger>
<xforms:label>Mydata</xforms:label>
<xforms:action events:event="DOMActivate">
<xforms:setvalue ref="instance('mypagedata.input')//myheader" value="'this is a my header...'" />
<xforms:send submission="mypagedata.submission" />
</xforms:action>
</xforms:trigger>
</xforms:case>
<xforms:case id="case_busy">Loading</xforms:case>
<xforms:case id="case_error">Error</xforms:case>
<xforms:case id="mypagedata.output">
</xforms:group ref="instance('mypagedata.output')">
... therre output-xml data
</xforms:group>
</xforms:case>
</xforms:switch>
问题是如何使用两行(设置值和提交)
<xforms:setvalue ref="instance('mypagedata.input')//myheader" value="'this is a my header...'" />
<xforms:send submission="mypagedata.submission" />
它不需要按下Mydata按钮,它会在页面加载时自动使用两行吗? 谢谢
答案 0 :(得分:1)
在XForms初始化时可以使用两个事件:
xforms-model-construct-done
:在模型准备就绪时调用,但UI可能不是xforms-ready
:当所有模型都准备好并且UI已准备就绪时对您提交的回复需要访问用户界面,因此您需要xforms-ready
。在<xforms:model>
元素中尝试以下内容:
<xforms:action ev:event="xforms-ready">
<xforms:setvalue ref="instance('mypagedata.input')//myheader" value="'this is a my header...'" />
<xforms:send submission="mypagedata.submission" />
</xforms:action>