Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RichFaces dataScroller操作与JSF commandButton和ajax一致_Ajax_Jsf 2_Richfaces - Fatal编程技术网

RichFaces dataScroller操作与JSF commandButton和ajax一致

RichFaces dataScroller操作与JSF commandButton和ajax一致,ajax,jsf-2,richfaces,Ajax,Jsf 2,Richfaces,我将JSF2与RichFaces一起使用。在我的表单上,我有带有dataScroller的dataTable和带有ajax的commandButton。问题是,每当我单击dataScroller转到ajax激活的下一页时。这是错误的。我只想在单击Submit按钮时激活ajax <h:form id="approveForm"> <h:panelGrid> <rich:dataTable width="100%" value="#{cust

我将JSF2与RichFaces一起使用。在我的表单上,我有带有dataScroller的dataTable和带有ajax的commandButton。问题是,每当我单击dataScroller转到ajax激活的下一页时。这是错误的。我只想在单击Submit按钮时激活ajax

<h:form id="approveForm"> 
    <h:panelGrid>

        <rich:dataTable width="100%" value="#{customBean.approvalList}"
            var="item"  id="table" rowClasses="odd-row, even-row"
            rows="5" styleClass="my-custom-table">     

            <f:facet name="header">
                <h:outputText value="WorkItems List" />
            </f:facet>  

            <rich:column>
                <f:facet name="header">Comments</f:facet>
                <h:inputText name="comment" />
            </rich:column>        
        </rich:dataTable>

        <rich:dataScroller for="table" maxPages="5"         
            fastStep="3"styleClass="pagination-right"/> 
    </h:panelGrid>

    <h:panelGrid>
        <h:commandButton value="Submit" action="#{customBean.submit_complete}"
            class="btn primaryBtn btn btn-success btn-next" 
            onclick="function_submit();"> 

            <a4j:ajax execute="@form" render="pnlResult"
                onevent="handleDisableButton" />
        </h:commandButton>

        <a4j:status>
            <f:facet name="start">
                <h:outputText id="test" value="In Progress...." />
                <h:graphicImage value="../../images/progress.gif" alt="Working" />
            </f:facet>
            <f:facet name="stop">
            </f:facet>
        </a4j:status>

        <h:outputText id="pnlResult" value="#{customBean.result}" escape="false" /> 
    </h:panelGrid>
</h:form>

评论

您可以从commanButton中删除ajax和javascript,并在操作中返回null。因此,整个页面将被重新呈现。您能否减少代码以仅显示重要部分?当你说ajax激活了发生了什么?与您预期的情况相反,我减少了代码。表单有提交按钮,当我点击提交按钮时,表单必须运行ajax部分。但是现在使用dataScroller,当我点击滚动条的数量时,就像我点击了提交按钮。我们不知道“我点击了”是什么意思,dataScroller是否执行了一些你不想要的功能?DataScroller发出自己的ajax请求,但不应干扰页面的其余部分。