Ajax p:commandButton拒绝另一个p:commandButton

Ajax p:commandButton拒绝另一个p:commandButton,ajax,jsf,primefaces,Ajax,Jsf,Primefaces,首先,让我说我最多是一个中级JSF编码器。 现在,在我当前的项目中,我对一些primefaces按钮有一个奇怪的问题,这真的开始困扰我了 环境正在创造一场足球比赛 我有三份球员名单。其思想是,用户从第一个列表中选择一名球员,然后按下板凳按钮将球员添加到板凳列表中,或者按下开始按钮选择球员位置,然后将球员添加到开始列表中 我会发布一张照片,但我不允许: 现在我的问题是,每当我使用启动按钮时,它会使工作台按钮完全无用,我没有得到任何错误,但不会调用action方法。因此,我可以在替补席上增加尽可能多

首先,让我说我最多是一个中级JSF编码器。 现在,在我当前的项目中,我对一些primefaces按钮有一个奇怪的问题,这真的开始困扰我了

环境正在创造一场足球比赛

我有三份球员名单。其思想是,用户从第一个列表中选择一名球员,然后按下板凳按钮将球员添加到板凳列表中,或者按下开始按钮选择球员位置,然后将球员添加到开始列表中

我会发布一张照片,但我不允许:

现在我的问题是,每当我使用启动按钮时,它会使工作台按钮完全无用,我没有得到任何错误,但不会调用action方法。因此,我可以在替补席上增加尽可能多的球员,但只要我按下开始按钮,我就不能让更多的球员坐在替补席上。但我仍然可以使用启动按钮

这是我的密码:

<h:form id="matchForm">
    <h:panelGroup id="updatePlayers">
        <div class="myContainer">
            <div class="myMatchBox">
                <h:outputLabel value="Pick a player:" />
                <p:selectOneListbox styleClass="heightClassPick myEditMatchPlayers myPickListOnEditMatches" filter="true" filterMatchMode="contains">
                    <f:selectItems value="#{manageMatchesBean.geteAllUsablePlayersOne()}" var="p" itemLabel="#{p.split('#')[0]} - #{p.split('#')[2]}" itemValue="#{p}"/>
                    <p:ajax event="valueChange" listener="#{manageMatchesBean.changeEPickedPlayerOne}" immediate="true"/>
                </p:selectOneListbox>
                <h:outputLabel style="display:block;" value="Add it to:" />
                <p:commandButton styleClass="myMatchCommandButton" value="Starting" update="posdlg0table" oncomplete="PF('posdlg0').show();return false;"/>
                <p:dialog header="Choose a position" widgetVar="posdlg0" modal="true" minHeight="40" resizable="false">
                    <h:dataTable id="posdlg0table" value="#{manageMatchesBean.getPickedPlayerPositionsOne()}" var="pos">
                        <h:column>
                            <p:commandButton value="#{pos.split('#')[0]}" update=":matchForm:updatePlayers" action="#{manageMatchesBean.eAddToStartingOne(pos.split('#')[1])}" process="@this" oncomplete="PF('posdlg0').hide();"/>
                        </h:column>
                    </h:dataTable>
                </p:dialog>
                <p:commandButton styleClass="myMatchCommandButton" value="Benched" update=":matchForm:updatePlayers" action="#{manageMatchesBean.eAddToBenchedOne()}" process="@this"/>
            </div>
        </div>
    </h:panelGroup>
</h:form>
如果我遗漏了什么或者你想看java代码,请告诉我,我也会发布它

我绝望了

提前谢谢

亚历克斯
显然是我解决的。。在尝试修复这个问题几个小时后,我退出并在这里写下了这个问题,在写下这个问题的1小时内,我在java代码中发现了一个小错误。是的,显然这个方法被调用了。无论如何现在它起作用了。谢谢。

“完全无用”是一种终端用户体验。作为一名开发人员,你可以检查很多东西。错误、网络流量、css/模式相关的东西等等……我没有收到任何错误,按钮的动作也没有被调用。也许我应该把它写在描述中。好吧,你打开了一个模态对话框,这样可以防止使用另一个按钮…是的,这是真的。但对话框再次关闭。然后我就不能再使用长凳按钮了。看看css的东西。。。还有没有一个模态“层”没有被移除或者其他什么。。。作为开发者,请仔细观察