2011-04-27 44 views
1

我有richfaces頁面,我必須添加/更新/刪除用戶詳細信息。Richfaces a4j:commandButton在ajax響應後啓用時不工作

我的表單中包含用戶詳細信息字段(例如:UserID,名字,姓氏......)以及添加/更新/刪除用戶的三個按鈕。

首先,應該輸入用戶名。通過ajax請求我會盡力得到細節。如果用戶存在,則將啓用更新和刪除按鈕。否則,添加按鈕將被啓用。細節需要手動輸入並通過添加按鈕提交。所有三個按鈕都是ajax請求。

經過獲取詳細信息被點擊,按鈕會根據條件正確啓用,但是當我點擊它們時,什麼也沒有發生。我看到正在發送Ajax請求,但沒有發送到操作方法,並收到空白響應。

如果我從他們刪除禁用的屬性,然後所有的三個按鈕的工作!

<a4j:form> 
<rich:panel id="UserManagePanel"> 
    <h:outputText value="User ID: "/> 
    <a4j:region> 
     <h:inputText id="userId" size="26" value="#{addUser.userName}" required="true" /> 
     <a4j:commandLink action="#{adminManager.getUserDetails()}" reRender="UserManagePanel" value="Get Details" /> 
    </a4j:region> 
    <h:outputText value="First Name:" /> 
    <h:inputText value="#{addUser.firstName}" required="true" /> 
    <h:outputText value="Last Name: " /> 
    <h:inputText value="#{addUser.lastName}" required="true" /> 
    <h:outputText value="Email: " /> 
    <h:inputText value="#{addUser.emailId}" required="true" /> 
    <a4j:commandButton value="Add" reRender="messageArea" action="#{adminManager.saveUser()}" disabled="#{addUser.userExists}"/> 
    <a4j:commandButton value="Modify" reRender="messageArea" action="#{adminManager.updateUser()}" disabled="#{!addUser.userExists}"/> 
    <a4j:commandButton value="Delete" reRender="messageArea" action="#{adminManager.deleteUser()}" disabled="#{!addUser.userExists}"/> 
</rich:panel> 

任何想法,我做錯了什麼?

回答

1

確保在單擊按鈕時禁用評估爲「假」。

+0

你說得對。這是一個SEAM範圍問題。將它從事件更改爲工作!謝謝。 – YAM 2011-04-28 18:19:36

+1

很高興它的工作。我不會說這是一個Seam問題,它只是一個範圍問題。 bean中的值將在新提交時重置,並且您的按鈕將被禁用,因此不處理任何操作。 – 2011-04-29 03:37:39