通过按Enter键添加动态字段

时间:2018-08-09 16:26:48

标签: javascript jquery

当我按键盘上的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>

1 个答案:

答案 0 :(得分:4)

尝试此代码:

 $('body').on('keypress','input[type=text]', function(e){
            if (e.keyCode == 13) {
                e.preventDefault();
                $(".add_field_button").click();

            }
        });