JavaScript将焦点设置为HTML表单元素
我有一个在其中的文本框的Web表单。 我如何去默认设置焦点到文本框?
像这样的东西:
<body onload='setFocusToTextBox()'>
所以有人可以帮我吗? 我不知道如何将焦点设置到JavaScript的文本框。
<script> function setFocusToTextBox(){ //What to do here } </script>
做这个。
如果你的元素是这样的
<input type="text" id="mytext"/>
你的脚本是
<script> function setFocusToTextBox(){ document.getElementById("mytext").focus(); } </script>
对于它的价值,您可以在兼容HTML5的浏览器上使用autofocus
属性。 即使在IE版本10以上也可以使用。
<input name="myinput" value="whatever" autofocus />
通常当我们关注文本框时,我们也应该滚动到视图中
function setFocusToTextBox(){ var textbox = document.getElementById("yourtextbox"); textbox.focus(); textbox.scrollIntoView(); }
检查是否有帮助。
对于简单的Javascript,请尝试以下操作:
window.onload = function() { document.getElementById("TextBoxName").focus(); };
如果你的代码是:
<input type="text" id="mytext"/>
如果你正在使用JQuery,你也可以使用它:
<script> function setFocusToTextBox(){ $("#mytext").focus(); } </script>
请记住,您必须先inputinput($(document).ready())
我曾经只是使用这个:
<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属性。
请注意:我想更新这个旧的线程显示问题的例子,还有那些仍然阅读这个更新,更容易更新。 ;)
如前所述, document.forms也起作用。
function setFocusToTextBox( _element ) { document.forms[ 'myFormName' ].elements[ _element ].focus(); } setFocusToTextBox( 0 ); // sets focus on first element of the form