フォーム(ajax呼び出し)を送信した後、選択されたコンポーネントIDにフォーカスを当てようとしています。ajax呼び出し後にonclick関数を処理する<f:ajax>
<script>
var myFunc = function() {
document.getElementById('form:#{bean.componentId}').focus();
document.getElementById('form:#{bean.componentId}').select();
};
$(document).ready(function() {
myFunc();
});
</script>
<h:form id="form">
<h:commandButton action="#{bean.save}" onclick="return myFunc();" ...>
<f:ajax execute="@form" render="@form"/>
</h:commandButton>
...
</h:form>
この溶液を作動しているが、問題は<f:ajax>
がonclick
後に呼び出されること、であるため、フォームは、コンポーネントの選択後にレンダリングされ、フォーカスがクリアされます。
フォームがレンダリングされた後に私の関数を呼び出す方法はありますか?
更新:(私は例えば試した)
f:ajax
にonevent="myFunc();"
を追加=>さわやかなページにつながるonclick
属性- 次のよう
onevent="myFunc()"
f:ajax
へ=>同じ動作を追加f:ajax
とonevent
attr。 =>まだアップデート2と同じ
(どのようにそれが必要な作品):
- 送信ボタンをアヤックスに依存する(必要
- 適切なフィールドがフォーカスされるよう
- フォームが洗浄されると呼ばれています一部のユーザーが選択した要因)
「onCompleteの」-attribut primefacesのコマンドボタンにし、RichFacesのコマンドボタンにはあります。 – stg