1

入力を手動で作成すると、それに集中できますが、JSFタグを使用して入力を生成すると、フォーム名がIDに追加され、参照できなくなります。

私はもう試した

$("#username").focus();

$("#loginForm:username").focus();

運がない。何かアドバイスはありますか?

ここにjsfhtmlが生成されます:

<input id="loginForm:username" type="text" name="loginForm:username" size="30" />

これが私の呼び出しのトリガー方法です...

$(document).ready(function() {
    alert("checkA");
    $("#username").focus();
    alert("checkB");
});
4

2 に答える 2

3

これ:はCSS識別子の特殊文字です。でエスケープする必要があります\\これ自体もJavaScript文字列の特殊文字であるため、実際のを表すには、\としてダブルエスケープする必要があることに注意してください\\

したがって、これは次のことを行う必要があります。

$("#loginForm\\:username").focus();

参照:

于 2012-07-20T01:23:51.260 に答える
1

試す:

$("input[name*='loginForm']").focus(); 
于 2012-07-20T00:35:56.950 に答える