2

ログイン用の入力フィールドを表示する rich:popupPanel コンポーネントを使用します。ログインが成功したときにポップアップを閉じる必要がありますが、そのときだけです。ユーザーが間違ったパスワードを入力すると、メッセージが表示され、ポップアップ パネルは開いたままになります。ページをリロードすると、すべてのウェルカム メッセージやその他のものが消えます。

ポップアップを閉じるJavaScriptがあります:onclick="RichFaces.$('popup_login').hide()"

アクションメソッドが「1」を返す場合にのみスクリプトを実行するにはどうすればよいですか (例)?

<h:form id="loginForm">
   <h:inputText id="email" value="#{loginBean.email}" />
   <a4j:commandLink id="submit" action="#{loginBean.doLogin}" onclick="RichFaces.$('popup_login').hide()">
      <h:outputText value="login" />
   </a4j:commandLink>
</h:form>
4

2 に答える 2

3

検証が失敗していないoncompleteかチェックインします。

<a4j:commandLink ... oncomplete="if (#{!facesContext.validationFailed}) RichFaces.$('popup_login').hide()">
于 2012-09-19T13:33:41.807 に答える
-1

私はプライムフェイスで働いています。マネージド Bean から直接すべてのポップアップを閉じます。

    RequestContext context = RequestContext.getCurrentInstance();
    context.execute("idofpopup.hide()");

これがリッチで機能するかどうかはわかりません。

これがお役に立てば幸いです。

于 2012-09-19T13:33:27.580 に答える