ユーザーがページを開いたときに、このフィールドをフォーカスする必要があります。私はそれが何か変わるかどうかはわかりませんが、PHPファイルからロードするモーダルウィンドウの中にあります。フィールドオートフォーカスはどうすればできますか?
簡単な方法はありますか?
ユーザーがページを開いたときに、このフィールドをフォーカスする必要があります。私はそれが何か変わるかどうかはわかりませんが、PHPファイルからロードするモーダルウィンドウの中にあります。フィールドオートフォーカスはどうすればできますか?
簡単な方法はありますか?
JavaScriptのautofocusersを(ここでは他の回答に与えられる)動作しますが、一部のユーザーのためにいらいらすることができます。たとえば、ページがまだ読み込まれている間に別のフィールドにフォーカスを当てると、JavaScriptはフォーカスを移動して間違ったフィールドに入力することで "助けて"いるかもしれません。 ux.stackexchange.comのThis questionには、いくつかの欠点が列挙されています。
これを防ぐために、HTML5はフォーム要素にautofocus
attributeを導入しました。これは、ブラウザ自体によって動作が一貫して実装され、刺激を感じるユーザーに対しては無効にできることを意味します。もちろん、これはまだすべてのブラウザでサポートされているわけではありません。詳しくは、autofocus fieldsのマークピルグリムの優れたDive Into HTML5のセクションを参照してください。
JavaScriptを使用して、あなたはこれを達成することができます:
document.onload = function() {
document.getElementById("question-box-0").focus();
}
私はそれを動作させることもできませんでした。これは、PHPファイルから読み込むモーダルウィンドウです。それは何かすることができますか?私はフォームのすぐ上にスクリプトを追加しても機能しませんでした。ありがとう – lisovaccaro
フォームがあるファイルの '
'タグ内に存在するようにそのスクリプトを追加する必要があります。 ''タグで囲みます。 –JSはajaxまたは類似のフレームワークが動作しないとロードされます。 JS関数を実行するには、のように@MichaelIrigoyenが – mandza
<html>
<head>
<script>
document.onload = function() {
document.getElementById('question-box-0').focus();
};
</script>
</head>
<body>
...
</body>
</html>
のようにロードする必要があります。動作しませんでした。これはPHPファイルからロードするモーダルウィンドウです。それは何かすることができますか?私はフォームのすぐ上にスクリプトを追加しても機能しませんでした。ありがとう – lisovaccaro
私の例のように
タグでスクリプトを設定しようとします。これは、実際にイベントが発生する前にdocument.onloadイベントハンドラが設定されていることを確認するためです。 –
+1のための '迷惑な' – Dancrumb
@Dancrumbイエスは、[関連する質問ui.stackexchange.com](http://ui.stackexchange.com/q/2861/2530)へのリンクを追加しました。詳細は – Day
ありがとうございます「オートフォーカス」が追加され、後ですべてのブラウザで機能するようにすべてを読み上げます。ありがとう – lisovaccaro