IE中带有表单中字段初始Javascript选择的选项卡顺序问题
我试图在html中实现以下行为:向用户显示一个包含多个文本字段的表单。这些字段用默认值填充,但在许多情况下,用户希望输入自己的值。加载页面时,会选择第一个字段中的值,因此用户可以通过简单地开始键入并切换到下一个字段来替换它,或者简单地将其保留并切换到下一个字段。以下是我所拥有的一个精简示例:IE中带有表单中字段初始Javascript选择的选项卡顺序问题,javascript,html,internet-explorer,browser,cross-browser,Javascript,Html,Internet Explorer,Browser,Cross Browser,我试图在html中实现以下行为:向用户显示一个包含多个文本字段的表单。这些字段用默认值填充,但在许多情况下,用户希望输入自己的值。加载页面时,会选择第一个字段中的值,因此用户可以通过简单地开始键入并切换到下一个字段来替换它,或者简单地将其保留并切换到下一个字段。以下是我所拥有的一个精简示例: <html> <body onload="document.getElementById('helloField').select()"> <form&
<html>
<body onload="document.getElementById('helloField').select()">
<form>
<input id="helloField" value="hello"/><br/>
<input value="goodbye"/><br/>
<input type="submit" value="Submit"/>
</form>
</body>
</html>
这在Chrome(我相信还有Firefox,但我这里没有)。在IE中,字段是按预期选择的,但当用户点击tab时,浏览器会将选项卡指向其地址栏,而不是“再见”字段。如果我用一个简单的焦点替换select,比如
<body onload="document.getElementById('helloField').focus()">
标签在所有浏览器中都可以,但这不是我想要的。我希望用户能够立即开始键入以替换默认值
有人有什么想法吗
谢谢。尝试使用tabindex设置字段的选项卡顺序:
<html>
<body onload="document.getElementById('helloField').select()">
<form>
<input id="helloField" value="hello" tabindex="1" /><br/>
<input value="goodbye" tabindex="2" /><br/>
<input type="submit" value="Submit" tabindex="3" />
</form>
</body>
</html>
聚焦,然后选择
也应考虑在输入的输入之后直接将代码放入脚本块中。如果页面上有一堆图像,document.onload可能会在很长一段时间后触发,而当onload触发并劫持焦点(使您删除框中的内容)时,您最不希望在输入框中键入内容
var hello=document.getElementById('helloField');
你好,焦点();
hello.select();
<input id="helloField" value="hello"/><br/>
<script type="text/javascript">
var hello= document.getElementById('helloField');
hello.focus();
hello.select();
</script>