默认的HTML表单焦点没有JavaScript

是否可以在不使用JavaScript的情况下在HTML表单上设置默认input焦点,例如:

<html> <form> Input 1: <input type="text" name="textbox1"/> <br/> Input 2: <input type="text" name="textbox2"/> </form> </html> 

我想设置默认的焦点到任何一个文本框,当表单加载而不使用JavaScript(因为我希望行为发生,当用户有js禁用)。

您可以在HTML5中完成,否则,您必须使用JavaScript。

HTML5允许您将autofocus添加到您的表单元素,例如:

 <input type="text" name="myInput" autofocus /> 

这在支持HTML5的浏览器(或者说,支持HTML5的这个特定部分的浏览器)中可以工作,但是正如你所知,并不是每个人都可以使用它。

需要注意的是…如果你设置了一个关注的表单元素,那么任何使用辅助技术(AT)的人都将需要备份以查看菜单以及聚焦的字段之前的任何其他内容。

在我看来,一个首选的方法是不把焦点设置到任何领域,除了跳过链接(如果可用的话)。 这使得他们可以select跳转到页面内容或从上到下阅读页面。

正如其他人所说,没有Javascript,你不能保证默认字段。 如果您有多个用户可能要访问的字段正在使用accesskey属性,则可能需要尝试的另一个选项。 这基本上意味着用户可以在浏览期间稍后返回到任何一个字段,这对于屏幕阅读器的用户来说可以派上用场等等。

维基百科关于这个主题的文章是相当有用的 – http://en.wikipedia.org/wiki/Access_key

没有某种forms的脚本,这是不可能的。 即使是Google的主页,也需要Javascript来关注search领域。

您也许可以使用tabindex属性,并使用默认文本框上的最小值。 在这里检查浏览器支持:

http://reference.sitepoint.com/html/object/tabindex#compatibilitysection

该网站build议

(在几乎所有其他情况下,即表单控件和链接,tabindex都有很好的支持)