java - Richfaces a4j :commandButton not working when enabled after a ajax response

标签 java jsf richfaces

我有 richfaces 页面,我必须添加/更新/删除用户详细信息。

我的表单包含用户详细信息字段(例如:用户 ID、名字、姓氏...)以及用于添加/更新/删除用户的三个按钮。

首先,应输入用户 ID。通过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>

知道我在这里做错了什么吗?

最佳答案

确保当您单击按钮时,disabled 的计算结果为“false”。

关于java - Richfaces a4j :commandButton not working when enabled after a ajax response,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5809394/

相关文章:

java - java中对象的层次结构的序列化

java - Spring Boot - 如何通过名称获取使用 @Service 注释的类

java - 打印 Gradle 测试任务的环境图

java - 如何知道在 richfaces PickList 中单击了哪个项目

java - 在 JSF(Richfaces) 提交上按下后退按钮时网页过期

java - 简单 JSON 意外标记 { 位置 > 1

java - <c :forEach not rendering with tomcat 7

java - Jsf 属性未保存

java - JSF 和 ManagedBean : NullPointerException

java - 如何使用 richfaces 对数据表进行排序