JSF
+PrimeFaces
ダイアログを使用して間違ったログインを行った後にパスワードをリセットするためにjQuery/Javascriptを使用する方法についてアドバイスが必要です。
<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を使用する際のヒントとなるリンク/リファレンスを歓迎します。