我有一个带有文本框的网络表单。如何在默认情况下将焦点设置到文本框?
这样的事情:
<body onload='setFocusToTextBox()'>
所以有人可以帮我吗?我不知道如何使用JavaScript将焦点设置到文本框。
<script>
function setFocusToTextBox(){
//What to do here
}
</script>
答案 0 :(得分:525)
这样做。
如果您的元素是这样的......
<input type="text" id="mytext"/>
您的脚本将是
<script>
function setFocusToTextBox(){
document.getElementById("mytext").focus();
}
</script>
答案 1 :(得分:131)
对于它的价值,您可以在兼容HTML5的浏览器上使用autofocus
属性。从版本10开始,甚至可以在IE上运行。
<input name="myinput" value="whatever" autofocus />
答案 2 :(得分:60)
通常当我们专注于文本框时,我们也应该滚动到视图
function setFocusToTextBox(){
var textbox = document.getElementById("yourtextbox");
textbox.focus();
textbox.scrollIntoView();
}
检查是否有帮助。
答案 3 :(得分:25)
如果您的代码是:
<input type="text" id="mytext"/>
如果你使用的是JQuery,你也可以使用它:
<script>
function setFocusToTextBox(){
$("#mytext").focus();
}
</script>
请注意,您必须先输入$(document).ready()
答案 4 :(得分:20)
对于普通Javascript,请尝试以下操作:
window.onload = function() {
document.getElementById("TextBoxName").focus();
};
答案 5 :(得分: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属性。
请注意:我想更新这个旧线程,显示示例问题以及那些仍在阅读此内容的更新,更简单的更新。 ;)
答案 6 :(得分:1)
如前所述, document.forms 也有效。
function setFocusToTextBox( _element ) {
document.forms[ 'myFormName' ].elements[ _element ].focus();
}
setFocusToTextBox( 0 );
// sets focus on first element of the form
答案 7 :(得分:0)
如果您的<input>
或<textarea>
具有属性id=mytext
,请使用
mytext.focus();
function setFocusToTextBox() {
mytext.focus();
}
<body onload='setFocusToTextBox()'>
<form>
<input type="text" id="mytext"/>
</form>
</body>
答案 8 :(得分:0)
window.onload是最初的重点 onblur是在单击文本区域之外时将焦点置于焦点上,或避开文本区域 模糊
request()->has('previous')
答案 9 :(得分:-1)
HTML
<textarea id="focus"></textarea>
JavaScript
window.onload=function() {
var mytexarea=document.getElementById("focus");
mytexarea.focus();
}
命名选择器,然后可以将事件附加到onload
事件上。