为什么keyup或keypress事件不启用commandButton

时间:2015-07-09 15:33:47

标签: primefaces

案例1:

<p:remoteCommand name="updateSaveButton" process="@this" update="saveCB" />
<p:inputText onkeyup="updateSaveButton();" required="true" value="#{invoiceBB.company}"/>
<p:commandButton action="#{invoiceBB.save}" disabled="#{invoiceBB.company == null}" id="saveCB" value="Open dialog x" />

案例2:

<p:inputText required="true" value="#{invoiceBB.company}">
    <p:ajax event="keyup" update="saveCB" />
</p:inputText>
<p:commandButton action="#{invoiceBB.save}" disabled="#{invoiceBB.company == null}" id="saveCB" value="Open dialog x" />

如果我看到支持bean,则公司的值为null。我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

我更喜欢你的第二种方法,例如:

    <h:form>
        <p:message id="messagecompany" for="inputcompany"/>
        <p:inputText id="inputcompany" required="true" value="#{testBean.company}">
            <p:ajax event="keyup" update="saveCB messagecompany" />
        </p:inputText>
        <p:commandButton id="saveCB"
            action="#{testBean.save}"
            disabled="#{testBean.company eq null or facesContext.validationFailed}"
            value="Open dialog x" />
    </h:form>