我有输入字段。两个需要输入一个是类型提交。就像你在下面看到的那样。
<input id="cs1" type="text" value="" placeholder="Call Sign" onkeyup="showHint(this.value);" maxlength="16" onmousedown="isKeyPressed(event)" autofocus="autofocus" />
<input id="Fname" type="text" value="" name="Fname" placeholder="First Name" onkeyup="nameHint(this.value);" onblur="checkIn();" />
<input id="ckin1" type="submit" value="Check In" />
通常的方法是输入cs1,它会删除可能值的提示。选择一个可能的值并选择“名称”输入。此时名称可能已自动填写或未自动填写。输入名称或接受名称。然后选择提交输入,然后单击它或按Tab键。 这就是问题所在,如果你选择了标签,那么你就被置于不好的URL(地址栏)上。如果单击提交,光标将再次正确返回到cs1输入。 我已经尝试过各种各样的东西,比如你在下面看到的,但都没有。
$(document).ready(function () {
$('#ckin1').on('keydown', function (e) {
if (e.keyCode == 9) {
document.body.firstElementChild.focus();
e.preventDefault();
return false;
}
});
})
$(document).ready(function () {
$( "#ckin1" ).click(function() {
$( "#cs1" ).focus();
});
});
在ckin1提交的标签后,如何让光标自动返回到cs1输入字段?
答案 0 :(得分:0)
这似乎工作得很好。由于您已经在使用jQuery,因此使用它来聚焦第一个元素。
$("#ckin1").on('keydown', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9 && !e.shiftKey) {
e.preventDefault();
$('#cs1').focus();
return false;
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="cs1" type="text" value="" placeholder="Call Sign" maxlength="16" />
<input id="Fname" type="text" value="" name="Fname" placeholder="First Name" />
<input id="ckin1" type="submit" value="Check In" />
&#13;