JavaScript将焦点设置为HTML表单元素

问题描述 投票:302回答:10

我有一个带有文本框的Web表单。如何默认将焦点设置到文本框?

像这样的东西:

<body onload='setFocusToTextBox()'>

所以有人可以帮我吗?我不知道如何使用JavaScript将焦点设置到文本框。

<script>
function setFocusToTextBox(){
//What to do here
}
</script>
javascript html textbox focus
10个回答
530
投票

做这个。

如果你的元素是这样的..

<input type="text" id="mytext"/>

你的脚本会是

<script>
function setFocusToTextBox(){
    document.getElementById("mytext").focus();
}
</script>

-1
投票

HTML

<textarea id="focus"></textarea>

使用Javascript

 window.onload=function() {
    var mytexarea=document.getElementById("focus");
    mytexarea.focus();

 }

命名您的选择器,您可以在onload事件上附加事件。


132
投票

对于它的价值,您可以在兼容HTML5的浏览器上使用autofocus属性。从版本10开始,甚至可以在IE上运行。

<input name="myinput" value="whatever" autofocus />

61
投票

通常当我们关注文本框时,我们也应该滚动到视图中

function setFocusToTextBox(){
    var textbox = document.getElementById("yourtextbox");
    textbox.focus();
    textbox.scrollIntoView();
}

检查它是否有帮助。


25
投票

如果您的代码是:

<input type="text" id="mytext"/>

如果您使用的是JQuery,您也可以使用它:

<script>
function setFocusToTextBox(){
    $("#mytext").focus();
}
</script>

请记住,您必须首先绘制输入$(document).ready()


20
投票

对于普通Javascript,请尝试以下操作:

window.onload = function() {
  document.getElementById("TextBoxName").focus();
};

2
投票

我曾经只是用这个:

<html>
  <head>
    <script type="text/javascript">
      function focusFieldOne() {
        document.FormName.FieldName.focus();
      }
    </script>
  </head>

  <body onLoad="focusFieldOne();">
    <form name="FormName">
      Field <input type="text" name="FieldName">
    </form>
  </body>
</html>

也就是说,您可以在HTML 5中使用autofocus属性。

请注意:我想更新这个旧线程,显示示例问题以及那些仍在阅读此内容的更新,更简单的更新。 ;)


1
投票

如前所述,document.forms也有效。

function setFocusToTextBox( _element ) {
  document.forms[ 'myFormName' ].elements[ _element ].focus();
}

setFocusToTextBox( 0 );
// sets focus on first element of the form

0
投票

如果您的<input><textarea>具有属性id=mytext然后使用

mytext.focus();

function setFocusToTextBox() {
    mytext.focus();
}
<body onload='setFocusToTextBox()'>
  <form>
    <input type="text" id="mytext"/>
  </form>
</body>

0
投票

window.onload是将焦点放在最初的onblur上,当你点击textarea外面时放置焦点,或者避免文本区域模糊

    <textarea id="focus"></textarea>
    <script>
     var mytexarea=document.getElementById("focus");
    window.onload=function()
    {

    mytexarea.focus();

    }

mytextarea.onblur=function(){

mytextarea.focus();

}
    </script>
© www.soinside.com 2019 - 2024. All rights reserved.