これはとても簡単な質問のように思えますが、ここでも、Google を使用しても答えが見つかりません。(「javascript can control accept focus」に対する最初の Google の結果は完璧に見えますが、デッド リンクです。)
基本的なドロップダウンがあります:
<select name="ddlScope" id="ddlScope">
<option value="-1"></option>
<option value="1">Global</option>
<option value="2">Public</option>
<option value="3">Private</option>
<option value="5">Admin</option>
</select>
検証を行っているときに、値が有効でない場合にコントロールにフォーカスを設定したいと考えています。しかし、それは目に見えるかもしれないし<tr>
、見えないかもしれない。<tr>
が表示されない場合、focus()
メソッドは失敗します。
var ddlScope = document.getElementById("ddlScope");
if (ddlScope.value == "0" || ddlScope.value == "-1")
{
ShowAlert("Please make a valid selection for Scope.");
ddlScope.focus();
return false;
}
囲ん<tr>
でいる の可視性を確認することはできましたが、これは厄介なページ固有のハックになります。フォーカスを与える前に、コントロールがフォーカスを受け入れることができるかどうかを確認する方法は確かにありますか?
更新:私はあきらめて、.focus()
完全に削除しました。ユーザーが見逃すほどインタラクティブなフォームではありません。しかし、「フォーカス可能性」の決定がどのように達成されるのか、私はまだ非常に興味があります。