110

ページが読み込まれたときに入力ボックスにデフォルトのフォーカスを設定しようとしています(例:google)。私のページはとてもシンプルですが、これを行う方法がわかりません。

これは私がこれまでに得たものです:

<html>
<head>
 <title>Password Protected Page</title>

 <script type="text/javascript">
 function FocusOnInput()
 {
 document.getElementById("PasswordInput").focus();
 }
 </script>

 <style type="text/css" media="screen">
  body, html {height: 100%; padding: 0px; margin: 0px;}
  #outer {width: 100%; height: 100%; overflow: visible; padding: 0px; margin: 0px;}
  #middle {vertical-align: middle}
  #centered {width: 280px; margin-left: auto; margin-right: auto; text-align:center;}
 </style>
</head>
<body onload="FocusOnInput()">
 <table id="outer" cellpadding="0" cellspacing="0">
  <tr><td id="middle">
   <div id="centered">
  <form action="verify.php" method="post">
   <input type="password" name="PasswordInput"/>
  </form>
   </div>
  </td></tr>
 </table>
</body>
</html>

これが正常に機能しているのに、なぜそれが機能しないのですか?

<html>
<head>
<script type="text/javascript">
function FocusOnInput()
{
     document.getElementById("InputID").focus();
}
</script>
</head>

<body onload="FocusOnInput()">
  <form>
       <input type="text" id="InputID">
  </form>
</body>

</html>

ヘルプは大歓迎です:-)

4

4 に答える 4

351

また、HTML5のオートフォーカス属性を使用できます(IE9以下を除く現在のすべてのブラウザーで機能します)。スクリプトを呼び出すのは、IE9以前、または他のブラウザーの古いバージョンの場合のみです。

<input type="text" name="fname" autofocus>
于 2010-08-01T19:42:33.670 に答える
38

この行:

<input type="password" name="PasswordInput"/>

次のように、id属性が必要です。

<input type="password" name="PasswordInput" id="PasswordInput"/>
于 2010-08-01T19:32:26.460 に答える
5

これはIEの一般的な問題の1つであり、これを修正するのは簡単です。.focus()を入力に2回追加します。

修理 :-

function FocusOnInput() {
    var element = document.getElementById('txtContactMobileNo');
    element.focus();
    setTimeout(function () { element.focus(); }, 1);
}

そして、$(document).ready(function(){.....}でFocusOnInput()を呼び出します。

于 2016-03-31T10:44:40.353 に答える
2

次のものも使用できます。

<body onload="focusOnInput()">
    <form name="passwordForm" action="verify.php" method="post">
        <input name="passwordInput" type="password" />
    </form>
</body>

そして、JavaScriptで:

function focusOnInput() {
    document.forms["passwordForm"]["passwordInput"].focus();
}
于 2015-09-16T17:11:55.533 に答える