1

初めまして、いつもご愛顧いただき誠にありがとうございます。

.xhtml と 'f:ajax' に関連する問題があります。

私は richfaces:collapsiblepanel 'expanded' 属性を bean 変数で設定しています。これはデフォルトで折りたたまれており、ぼかしイベントでは展開されます。f:ajax リクエストが完了した後に UIComponent にフォーカスを設定したい。そのために、JavaScript で関数を作成し、f:ajax の「onevent」で呼び出しました。

しかし、パネルが開く前に onevent 関数が起動し、その折りたたみ可能なパネルで定義されている UIComponent にフォーカスを設定できません。

どうすればFocusを設定できますか、またはajaxリクエストが完了した後にその機能を起動するにはどうすればよいですか?

前もって感謝します。


最大幅を消去して、流動的でないようにすることができます。それから #headerContainer のように div に挿入し、幅: 420px; にします。

4

1 に答える 1

3

js 関数は次のようになります。

function doTheFocus(data) {
    if (data.status === 'success') {
        //here goes the js code that will set the focus
        //this code will be executed only when the ajax will be done
    }
}

そして、これがあなたのf:ajax意志がどのように見えるかです

<f:ajax onevent="doTheFocus" />

パネルが開いたときにフォーカスの js 関数を呼び出したい場合は、試すことができます

<rich:collapsiblePanel onswitch="doTheFocus"

または(よくわかりません...)

<rich:collapsiblePanel onswitch="doTheFocus()"

最終的に を使用する場合は、関数内にロジックを追加して、パネルが展開されているかどうかを確認するonswitch必要があるかもしれません...doTheFocus

于 2013-04-23T10:28:43.317 に答える