【问题标题】:Orbeon, xforms subission on page load eventOrbeon,页面加载事件的xforms subission
【发布时间】:2013-11-20 10:10:55
【问题描述】:

我对页面加载事件和 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的子函数

<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 按钮,它会在页面加载时自动使用这两行吗? 谢谢

【问题讨论】:

    标签: xml orbeon xforms


    【解决方案1】:

    在 XForms 初始化时可以使用两个事件:

    • xforms-model-construct-done:模型准备好时调用,但 UI 可能没有
    • xforms-ready: 当所有模型都准备好并且 UI 也准备好时

    对您提交的回复需要访问 UI,因此您需要 xforms-ready。在您的 &lt;xforms:model&gt; 元素中尝试以下操作:

    <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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多