当前位置 : 主页 > 网页制作 > html >

IE中的Tab键顺序问题,表单中的初始Javascript选择字段

来源:互联网 收集:自由互联 发布时间:2021-06-12
我试图在html中实现以下行为:用户将看到一个涉及多个文本字段的表单.字段使用默认值填充,但在许多情况下,用户希望输入自己的字段.当页面加载时,第一个字段中的值被选中,因此用户
我试图在html中实现以下行为:用户将看到一个涉及多个文本字段的表单.字段使用默认值填充,但在许多情况下,用户希望输入自己的字段.当页面加载时,第一个字段中的值被选中,因此用户可以通过简单地开始键入和标签到下一个字段来替换它,或者只是将其保留并标签输出.这是我所拥有的一个简单的例子:

<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中,该字段按预期选择,但是当用户点击选项卡时,浏览器会选中其地址栏而不是再见字段.如果我用简单的焦点替换选择,比如

<body onload="document.getElementById('helloField').focus()">

标签在所有浏览器中都没问题,但这不是我想要的.我希望用户能够立即开始输入以替换默认值.

有人有主意吗?

谢谢.

聚焦,然后选择.

还要考虑在有问题的输入之后将代码直接放在脚本块中.如果你在页面上有一堆图像,document.onload可以在很长一段时间后触发,你想要的最后一件事就是在onload触发并劫持你的焦点时在输入框中输入(让你删除你的内容)盒子).

<input id="helloField" value="hello"/><br/>
<script type="text/javascript">
    var hello= document.getElementById('helloField');
    hello.focus();
    hello.select();
</script>
网友评论