使用javascript聚焦并选择另一个输入文本字段?

时间:2017-04-04 11:16:40

标签: javascript html

当用户点击特定字段上的TAB时,我希望焦点跳转到另一个特定字段(并选择那里的所有内容)。

我想避免使用tabindex。默认订单通常很好,我不会打扰他们手动管理它们。

我尝试了onbluronkeyup事件,但所有事情都会导致扭曲的效果和错误。

例如,我尝试过:

<input id="field1" onblur="document.getElementById('anotherField').focus();" type="text">

这几乎似乎有效,但未选择目标字段中的文本。

然后我试了

<input id="field1" onblur="document.getElementById('anotherField').focus(); document.getElementById('anotherField').select();" type="text">

这几乎似乎有效,但是当进一步标记时,目标字段的文本将不会被取消选择

2 个答案:

答案 0 :(得分:2)

尝试使用

function myTab(event, targetId) {
    if (event.keyCode == 9) {
        event.preventDefault();
        var target = document.getElementById(targetId);
        target.focus();
        target.select();
    }
}
<table>
<tr>
  <td><input type="text" id="field1" value="field1" onkeydown="myTab(event, 'field2');">
  <td><input type="text" id="field3" value="field3" onkeydown="myTab(event, 'field4');">
</tr>
<tr>
  <td><input type="text" id="field2" value="field2" onkeydown="myTab(event, 'field3');">
  <td><input type="text" id="field4" value="field4" onkeydown="myTab(event, 'field1');">
</tr>
</table>

答案 1 :(得分:1)

请使用以下示例代码

&#13;
&#13;
<input type="text" name="t1" id="t1"  placeholder="textbox1" onfocus="document.getElementById('t2').select()"/><br><br>
<input type="text" name="t2" id="t2" placeholder="textbox2" value="abc"/><br><br>
<input type="text" name="t2" id="t3" placeholder="textbox3"/><br><br>
&#13;
&#13;
&#13;