1

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

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

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

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

4

2 回答 2

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>
于 2013-01-29T10:44:08.333 回答
1

另一种替代方法是将createFormXPages 中的属性设置为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">

于 2013-01-29T13:37:26.207 回答