我需要有关如何使用 jQuery / Javascript 在使用JSF
+PrimeFaces
对话框登录错误后重置密码的建议。
<p:dialog header="Login" id="loginDlgId" widgetVar="loginDlg" >
<h:form id="loginForm">
<h:panelGrid columns="2">
<h:outputLabel for="username" value="Username:" />
<p:inputText value="#{loginBean.username}" id="username" required="true" label="username" />
<h:outputLabel for="password" value="Password:" />
<h:inputSecret value="#{loginBean.password}" id="password" required="true" label="password" />
<p:commandButton value="Login" id="loginDlgButton" update=":loginButtonForm"
action="#{loginBean.login}"
oncomplete="handleLoginRequest(xhr, status, args)"/>
</h:panelGrid>
</h:form>
</p:dialog>
<script type="text/javascript">
function handleLoginRequest(xhr, status, args) {
if(args.validationFailed || !args.loggedIn) {
jQuery('#loginDlgId').effect("shake", { times:3 }, 100);
if (!args.validationFailed) {
$('#loginForm:password').html(''); // this doesn't have any effect
jQuery('#loginForm:password').text(''); // this doesnt' have any effect, too
}
}
}
</script>
如您所见,在 Javascript 函数中,handleLoginRequest
我做了 2 次努力来重置密码文本,但没有结果(而且似乎也没有错误)。此外,任何在这种情况下使用 jQuery 的链接/参考,都将受到欢迎。