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