我有一个form
,其中有几个input
和select
元素。我的问题是,我可以使用标签在input
元素之间移动,但不能在select
下拉菜单之间移动。我尝试了tabindex="2"
属性,但它没有影响任何内容。
有办法吗?
以下是我的代码示例。如果它改变了我在PHP中的任何东西,但是我无法在html ether中找到它。
<table>
<tr>
<td>
<select>
<option value="volvo">Volvo</option><option value="saab">Saab</option><option value="mercedes">Mercedes</option><option value="audi">Audi</option>
</select></td><td>
<input type="text" name="location" size=17 maxlength=22/>
</td><td>
<input type="text" name="date" size=12 maxlength=10/>
</td>
</tr>
</table>
我希望我发布这个权利我的代码很难。
答案 0 :(得分:1)
例如,在Firefox上,您的真实生活样本页面http://cafe.bg14.com/purchases.php 上的select
元素可以标记到,它在标签顺序中已经很晚了。原因是您为某些表单字段设置了tabindex
属性,但并非全部。那些没有属性的人将会到最后。
删除所有tabindex
属性(如果自然标签顺序,按HTML标记中的顺序为OK),或者将它们用于应参与标签的所有字段和其他项目。
在决定要使用哪个版本的HTML之后,还应使用HTML W3C验证程序修复标记。该页面现在声明了XHTML 1.0,但使用了不带引号的属性值和HTML5功能。这使得更难以发现存在严重的标记错误,例如th
元素未包含在tr
元素内。 (打破HTML表模型可能会对渲染和功能产生影响。)
答案 1 :(得分:0)
尝试下面的代码,我已经测试过它的工作原理 我根据你在问题中要求做的事来回答这个问题。
<form action="#" method="post">
<p><input type="text" name="first" tabindex="10" /></p>
<p><input type="text" name="second" tabindex="20" /></p>
<p>
<select name="third" tabindex="30">
<option value="foo">Foo</option>
<option value="bar">Bar</option>
</select>
</p>
<p>
<select name="fourth" tabindex="40">
<option value="foo">Foo</option>
<option value="bar">Bar</option>
</select>
</p>
<p><input type="text" name="fifth" tabindex="50" /></p>
<input type="submit" value="Submit" tabindex="100" />
</form>