如何将光标移动到下一个文本字段?

时间:2017-04-03 18:56:28

标签: javascript jquery

在我的工作中,我尝试通过按Enter键将移动焦点从一个文本字段移动到另一个文本字段。我在以下链接中找到了可能的答案:

How to go to next textbox when enter is pressed?
Move Cursor to next text Field pressing Enter

但这些都不适合我。我的代码:

<script>
$('input[type='text']').keyup(function(e) {
    if(e.keyCode == 13) {
        $(this).next().focus();
    }
});
</script>
<input type='text' />
<input type='text' />
<input type='text' />
<input type='text' />
<input type='text' />
<input type='text' />

3 个答案:

答案 0 :(得分:1)

只需将$('input[type='text']')更新为$('input[type="text"]')即可。你有未闭合的字符串。

工作码本here

答案 1 :(得分:1)

&#13;
&#13;
$(document).ready(function () {

	$('form').on('submit', function (event) {
	    event.preventDefault();
	})

	$('input[type="text"]').keyup(function(event) {
	    if(event.keyCode === 13) {
        	$(this).next().focus();
	    }
	});

})
&#13;
<script src="https://code.jquery.com/jquery-3.2.1.slim.js"></script>
<form>
    	<input type="text"/>
    	<input type="text"/>
    	<input type="text"/>
    	<input type="text"/>
    	<input type="text"/>
</form>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

这里发生了什么:

<!-- Start loading the page -->
<script>
// execute javascript. Note that there
// are no inputs on the page currently - they will be loaded later

// This selector matches nothing:
$("input[type='text']").keyup(function(e) {
    if(e.keyCode == 13) {
        $(this).next().focus();
    }
});
</script>
<!-- JavaScript executed. Now add inputs to the page -->
<input type='text' />
<input type='text' />

您可以做的是将<script>移到输入下方(最简单)或将keyup侦听器移动到onload函数:

$(function(){
// i.e. wrap your js here

// the js here will be executed only after page has loaded
});