当我按键盘上的ENTER屏幕时,我的代码添加了一个新的文本字段,但是当我只键入值并按Entrer时,它仅适用于下一个文本字段的第一个文本字段,而不会添加新字段。 已经在论坛问题中进行搜索,而未找到解决方案。
<div class="input_fields_wrap">
<button class="add_field_button">Add More Fields</button>
<div><input type="text" name="mytext[]"></div>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var max_fields = 10; //maximum input boxes allowed
var wrapper = $(".input_fields_wrap"); //Fields wrapper
var add_button = $(".add_field_button"); //Add button ID
var x = 1; //initlal text box count
$(add_button).click(function(e){ //on add input button click
e.preventDefault();
if(x < max_fields){ //max input box allowed
x++; //text box increment
$(wrapper).append('<div><input type="text" name="mytext[]"/></div>'); //add input box
}
});
$('input, text').on('keypress', function(e){
if (e.keyCode == 13) {
e.preventDefault();
$(".add_field_button").click();
}
});
});
</script>
答案 0 :(得分:4)
尝试此代码:
$('body').on('keypress','input[type=text]', function(e){
if (e.keyCode == 13) {
e.preventDefault();
$(".add_field_button").click();
}
});