【问题标题】:h:inputtext enable/disable from classh:inputtext 从类启用/禁用
【发布时间】:2013-08-28 06:28:55
【问题描述】:

嗨,根据我的要求,有一个 h:inputtext 来查找用户。如果找到用户,它会在相应的 h:inputtext 中填充名字、姓氏和电子邮件,这是禁用的。但如果没有发现 inputtext 应该启用并且可以填写新的详细信息。

<h:inputText value="#{countryBean.usersDetailsDTO.eid}" id="eid" required="true"       requiredMessage="Enter EID">

            <f:ajax></f:ajax>
        </h:inputText><h:message styleClass="msgStyle4" id="msgEid" for="eid"/>
    </div>
    <h:commandButton  styleClass="search_btn"   immediate="true">
        <f:ajax listener="#{countryBean.getUserDetail}" render="empFName empLName empEmail" event="click" execute="@this" />
    </h:commandButton>
    <div class="clear">&nbsp;</div>

    <div class="form-field" style="margin-left:222px;">
        first Name  <h:inputText value="#{countryBean.usersDetailsDTO.firstName}" id="empFName" required="true" requiredMessage="Enter First Name">
        <f:validator validatorId="nameValidation" />
        </h:inputText><h:message styleClass="msgStyle4" id="msgfn" for="empFName"/>
    </div>
    <div class="clear"></div>
    <div class="form-field" style="margin-left:10px;">
        last name  <h:inputText value="#{countryBean.usersDetailsDTO.lastName}" id="empLName" required="true" requiredMessage="Enter Last Name">
        <f:validator validatorId="nameValidation" />
        </h:inputText><h:message styleClass="msgStyle4"  id="msgln" for="empLName"/>
    </div><div class="clear"></div>
    <div class="form-field" style="margin-left:10px;">
        email<h:inputText value="#{countryBean.usersDetailsDTO.email}" id="empEmail" required="true" requiredMessage="Enter Email Address">
        <f:validator validatorId="emailValidation" />
        </h:inputText><h:message styleClass="msgStyle4"  id="msgEmail" for="empEmail"/>
    </div>

【问题讨论】:

    标签: jsf


    【解决方案1】:

    您可以随时使用disabled 属性以及JSF EL 将布尔值传递给disabled 属性。
    例如,在您的情况下,如果您想禁用任何 h:inputText 如果名字已预先填充,则:

    <h:inputText value="#{countryBean.usersDetailsDTO.email}" id="empEmail"     
    required="true" requiredMessage="Enter Email Address"      
    disabled="#{not(empty countryBean.usersDetailsDTO.firstName)}">
    

    如果预先填充了firstname,上述代码将禁用Email 输入文本disabled

    【讨论】:

      【解决方案2】:

      您可以通过两种方式处理此问题:

      1) 你将 inputText 的 disable-tag 设置为 BackingBean 方法,如下所示:

      <h:inputText ... disabled="#{countryBean.found}" ... />
      

      2)在第一个inputText上添加一个valueChangeListener,所以如果它有一个文本,其他的应该被禁用。

      【讨论】:

        猜你喜欢
        • 2014-03-26
        • 1970-01-01
        • 2013-02-18
        • 2012-11-18
        • 2013-01-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多