XPages添加表单标签以禁用Ajax

时间:2013-01-29 10:29:32

标签: jquery-mobile xpages

我正在使用jQuery Mobile(1.2.0)和XPages(8.5.3),并希望禁用Ajax表单提交,因为这似乎阻止了图像的保存(所有其他文本字段都已成功保存)。 / p>

我可以使用以下内容将data-ajax="false"添加到表单标记吗?

<xp:this.attrs>
        <xp:attr name="data-ajax" value="false"></xp:attr>
</xp:this.attrs>  

我尝试在主题中使用Form(根据adding styleClass)但未添加任何内容,我可以添加styleClass

2 个答案:

答案 0 :(得分:1)

只需将这些行添加到您的主题:

<control mode="override">
    <name>Form</name>
    <property>
        <name>attrs</name>
        <complex type="xp_attr">
            <property>
                <name>name</name>
                <value>data-ajax</value>
            </property>
            <property>
                <name>value</name>
                <value>false</value>
            </property>
        </complex>
    </property>
</control>

答案 1 :(得分:1)

另一种替代方法是将XPage中的createForm属性设置为false。这不会生成form代码,并允许您使用xp:form创建自己的代码。然后,您可以使用xp:this.attrs添加自定义属性,就像在查询中一样。所以你的代码看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" createForm="true">
    <xp:form id="myForm">
        <xp:this.attrs>
            <xp:attr name="data-ajax" value="false"></xp:attr>
        </xp:this.attrs>
        <!-- All the other controls go here -->
    </xp:form>
</xp:view>

这将生成form标记,如下所示:

<form id="view:myForm" method="post" action="/myPath/myDatabase.nsf/xFormAttrs.xsp" class="xspForm" enctype="multipart/form-data" data-ajax="false">