我有一个类似于下面所示的表格。有一组无线电和输入字段对应。
应遵循的条件
除了选择第2组的第一个无线电以外,所有上述条件都有效。按Tab键确实将其带到相应的文本框。但是再次按Tab键会转到第2组的另一个文本框(这不应该发生)。
请帮忙。 HTML代码如下
<html>
<body>
Please select gender (Group 1)<br>
<input type="radio" checked name="gender" tabindex="1" value="male"> Male<br>
<input type="radio" name="gender"tabindex="1" value="female"> Female
<br><br>
Please select one of following (Group 2)<br>
<input type="radio" checked name="payment"tabindex="2" value="amount"> $<input type="text" tabindex="2.1"><br>
<input type="radio" name="payment" tabindex="2" value="installment">#<input type="text" tabindex="2.1">
<br><br>
Please select payment date (Group 3)<br>
<input type="text" tabindex="3">
</body>
</html>
&#13;
&LT;&LT;当光标处于位置时尝试按Tab键,如图像&gt;&gt;
所示答案 0 :(得分:1)
由于您的帖子标有javascript,我认为允许使用javascript。禁用输入字段将阻止&#39; tabed&#39;它。因此,在&#39;#&#39;之后禁用文本字段。默认情况下(通过添加disabled="disabled"
)并将onchange-events添加到单选按钮以禁用&#39; $&#39;之后的文本字段。并在&#39;#&#39;之后启用文本字段(反之亦然)。
onchange="document.getElementById('amount').disabled=null; document.getElementById('installment').disabled='disabled'; "
并将正确的id
添加到文本字段中,以便javascript-selectors可以正常工作。
完整代码:
<html>
<body>
Please select gender (Group 1)<br>
<input type="radio" checked name="gender" tabindex="1" value="male"> Male<br>
<input type="radio" name="gender"tabindex="1" value="female"> Female
<br><br>
Please select one of following (Group 2)<br>
<input type="radio" checked name="payment"tabindex="2" value="amount" onchange="document.getElementById('amount').disabled=null; document.getElementById('installment').disabled='disabled'; "> $<input type="text" tabindex="2.1" id="amount"><br>
<input type="radio" name="payment" tabindex="2" value="installment" onchange="document.getElementById('amount').disabled='disabled'; document.getElementById('installment').disabled=null; ">#<input type="text" tabindex="2.1" disabled="disabled" id="installment">
<br><br>
Please select payment date (Group 3)<br>
<input type="text" tabindex="3">
</body>
</html>
&#13;
答案 1 :(得分:0)
您可以在未选中的文本框中使用JavaScript设置tabindex="-1"
,因此浏览器会在标签顺序中忽略此文本框。然后您也可以删除所有这些手动tabindex定义,因为默认情况下浏览器已经遵循了所需的Tab键顺序。