【问题标题】:rich:message disables commandButton after first userich:message 首次使用后禁用 commandButton
【发布时间】:2013-07-22 10:48:34
【问题描述】:

上网查了几天,问题依旧。我想知道是否有人可以帮助我。

外部登录表单由 jQuery 覆盖显示 http://jquerytools.org/demos/overlay/external.html

通过表单请求用户名和密码。 rich:messages 应该在按下提交按钮后显示错误消息。这只工作正常一次。没有rich:message,提交可以正常工作多次。 我做错了什么? 一些代码:

overlay_login.xhtml源码

<ui:composition xmlns="http://www.w3.org/1999/xhtml"    
<div id="overlay-content">
    <h1>Anmelden</h1>


    <h:form id="login_form">

        <h:outputLabel value="#{msg['login.mainMailOrName']}" />
        <div id="overlay-panel">
            <h:inputText id="mainMailOrName" value="#{login.mainMailOrName}"
                required="true" requiredMessage="#{msg['general.fieldRequired']}"
                size="30" />
            <rich:message for="mainMailOrName" />
        </div>
        <h:outputLabel value="#{msg['general.password']}" />
        <div>
            <h:inputSecret id="password" value="#{login.password}" size="30"
                required="true" requiredMessage="#{msg['general.fieldRequired']}"
                validator="#{login.validPasswordValidator}"
                validatorMessage="#{msg['login.loginFailed']}" />
            <rich:message for="password" style="color:#aa0000;" />
        </div>
        <div>
            <a4j:commandButton  image="images/login_button.png" oncomplete="if(#{!facesContext.validationFailed}) $('a[rel]').overlay().close(); return false;" />
        </div>

    </h:form>

【问题讨论】:

  • 禁用或不响应点击?您可以使用&lt;a4j:log&gt; 查看后者的情况。
  • 测试后,我会说按钮没有响应,因为调试说:类似的请求当前在队列中
  • 但这是什么意思以及如何防止排队?
  • Ajax 请求被放置在一个队列中,这就是它的工作原理。该错误意味着先前的请求没有正确完成;我猜执行范围存在问题。如果您使用嵌套表单,请摆脱它们(尽管这可能不是导致问题的原因)。
  • 处理登录的 session.bean 是 sessionscoped。

标签: jsp jquery richfaces


【解决方案1】:

使用&lt;h:message&gt; 代替&lt;rich:message&gt; 解决了问题

<a4j:outputPanel ajaxRendered="true">
<!-- <rich:message for="mainMailOrName" style="color:#aa0000;" /-->
     <h:messages for="mainMailOrName" style="color:#aa0000;" />
</a4j:outputPanel>

【讨论】:

    猜你喜欢
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-05
    • 1970-01-01
    • 2012-04-18
    相关资源
    最近更新 更多