3

嗨,根据我的要求,有一个 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>
4

2 回答 2

5

您可以随时使用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)}">

如果已预先填充,上面的代码将禁用Email输入文本。disabledfirstname

于 2013-08-28T07:23:19.300 回答
0

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

1)您将 inputText 的禁用标记设置为 BackingBean 方法,如下所示:

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

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

于 2013-08-28T06:41:09.860 回答