2013-08-28 77 views
2

嗨根據我的要求有一個h:inputtext來查找用戶。如果找到用戶,則在相應的h:inputtext中填寫名字,姓氏和郵件。但是如果沒有發現inputtext應該被啓用並且可以填充新的細節。h:輸入文字啓用/禁用類

<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> 

回答

2

您可以隨時使用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輸入文本disabled如果firstname被預填充。

+0

非常感謝你的工作正常,你救了我的命。再次非常感謝 –

1

您可以在2種方式處理這個問題:

1)你的inputText的禁用標籤設置爲BackingBean法是這樣的:

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

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