我有一组8个复杂的表单(70多个字段)用于存储团队报告。表格的一部分在表中以4列宽和2列高的形式列出了团队成员的姓名(名字放在最上面,姓氏在下面)。当用户填写表格时,Tab键可将用户名和姓氏分开,然后转到姓氏,因为这是它们在源中的顺序(一个TR中的名字和下一个TR中的名字)。显然,如果Tab键从名字到姓氏,然后再到下一个名字,对我的用户来说将更加容易。

我知道我可以使用tabindex来解决此问题,但是我真的不想必须对所有500多个字段都进行tabindex,所以只需修复这4个字段即可。

有什么办法可以使tabindex只是表单的一部分?我试过了,但是不会跳到其他字段。有一些聪明的JS解决方案吗?或以某种方式将这些字段分组,以便默认选项卡将我带入该组,然后可以在其中进入tabindex?

如果您愿意,可以叫我懒。.但是我试图节省很多时间进行剪切,粘贴和犯错。

干杯!

最佳答案

最好的办法是,在名称输入相同的tabIndex(比名字输入少1)之前,先输入所有输入,然后在名称输入相同的tabIndex(输入高1)之后再输入所有输入。比姓氏输入。

<input type="text" tabIndex="1"><br>
<input type="text" tabIndex="1"><br>
...
<table>
    <tr>
        <td><input type="text" tabIndex="2"></td>
        <td><input type="text" tabIndex="4"></td>
        <td><input type="text" tabIndex="6"></td>
        <td><input type="text" tabIndex="8"></td>
    </tr>
    <tr>
        <td><input type="text" tabIndex="3"></td>
        <td><input type="text" tabIndex="5"></td>
        <td><input type="text" tabIndex="7"></td>
        <td><input type="text" tabIndex="9"></td>
    </tr>
</table>
<input type="text" tabIndex="10"><br>
<input type="text" tabIndex="10"><br>
...

我想这就是你要的:http://jsfiddle.net/9ffWs/

仍然需要您向每个输入添加一个tabIndex,但是至少它是受到严格控制的,并且不会导致任何错误。

关于javascript - 有没有一种方法可以仅在HTML表单中的某些字段上使用tabindex?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13088895/

10-12 01:57