是否可以在不使用JavaScript的情况下在HTML表单上设置默认输入焦点,例如:
<html>
<form>
Input 1: <input type="text" name="textbox1"/>
<br/>
Input 2: <input type="text" name="textbox2"/>
</form>
</html>
我希望在不使用JavaScript的情况下加载表单时将默认焦点设置为任一文本框(因为我希望在用户禁用js时发生这种行为)。
答案 0 :(得分:266)
您可以在HTML5中执行此操作,但除此之外,您必须使用JavaScript。
HTML5允许您将autofocus
添加到表单元素,例如:
<input type="text" name="myInput" autofocus />
这适用于支持HTML5的浏览器(或者更确切地说,支持HTML5这一特定部分的浏览器)但是如你所知,并非所有人都可以使用它。
答案 1 :(得分:20)
需要注意的事项......如果您设置了一个聚焦的表单元素,那么任何使用辅助技术(AT)的人都需要备份以查看菜单和聚焦字段之前的任何其他内容。
在我看来,首选方法是不将焦点设置为任何字段,除非跳过链接可用。这使他们可以选择跳过页面内容或从上到下阅读页面。
答案 2 :(得分:3)
正如其他人所说,没有Javascript你不能保证默认字段。如果您有多个用户可能想要访问的字段,则可能需要尝试的另一个选项是使用accesskey
属性。这基本上意味着用户可以在浏览过程中稍后立即返回任何一个字段,这对于屏幕阅读器的用户来说可能会派上用场......等等。
维基百科关于这个主题的文章非常有用 - http://en.wikipedia.org/wiki/Access_key
答案 3 :(得分:0)
如果没有某种形式的脚本,这是不可能的。即使Google的主页也需要Javascript来关注搜索字段。
答案 4 :(得分:-8)
您可以使用 tabindex 属性并使用默认文本框中的最低值。点击此处查看浏览器支持:
http://reference.sitepoint.com/html/object/tabindex#compatibilitysection
该网站建议
(在几乎所有其他情况下 - 即表单控件和链接 - tabindex都有很好的支持)