ページの更新後にコンポーネントIDを選択するための関数を呼び出しています。
$(document).ready(
function() {
document.getElementById('form:#{myBDE.componentId}').focus();
document.getElementById('form:#{myBDE.componentId}').select();
}
)
私の送信ボタンの例:
<h:form id="form">
<h:commandButton id="btnSubmit" action="#{myBDE.save}" type="submit" >
<f:ajax execute="@form" render="@form"/>
</h:commandButton>
...
</form>
送信ボタンをクリックするたびに呼び出される同じ関数を作成するにはどうすればよいですか(ajaxを使用しているため、ページを再読み込みせずに作業しています。document.readyでは不十分です)。出来ますか?
更新(部分的に機能するソリューション):
var myFunc = function() {
document.getElementById('form:#{myBDE.componentId}').focus();
document.getElementById('form:#{myBDE.componentId}').select();
};
$(document).ready(function() {
myFunc();
$('input[type=submit]').click(myFunc);
});
関数を追加onclick="return myFunc();"
して呼び出すことができますh:commandButton
。問題は、<f:ajax>
関数を呼び出した後にフォームをレンダリングするため、選択とフォーカスがクリアされることです:(