【问题标题】:jQuery not let me submit all inputs of a form after the .append()jQuery不允许我在 .append() 之后提交表单的所有输入
【发布时间】:2015-08-17 21:18:05
【问题描述】:

我正在使用 jQuery .append() 向我的 html 表单添加输入数量。我正在尝试使用数组提交输入,但它无法识别附加的输入字段。如果我静态附加它们,它将起作用:

输入字段如下所示:

<form action="http://localhost:8888/xxx/action.php" method="post" id="form">
                        <div class="row noMargin" id="question1">
                            <div class="col-xs-12 col-sm-1 col-md-4  " id="">
                            <input type="text" class="qnaQ form-control" id="qnaQ" name="qnaQ[]">
                            </div>

                            <div class="col-xs-12 col-sm-1 col-md-2  " id="">
                                <input type="text" class="qnaOpt1 form-control" id="qnaOpt1" name="qnaA1[]">
                            </div>

                            <div class="col-xs-12 col-sm-1 col-md-2  " id="">
                                <input type="text" class="qnaOpt2 form-control" id="qnaOpt2" name="qnaA2[]">
                            </div>

                            <div class="col-xs-12 col-sm-1 col-md-2  " id="">
                                <input type="text" class="qnaOpt3 form-control" id="qnaOpt2" name="qnaA3[]">
                            </div>

                            <div class="col-xs-12 col-sm-1 col-md-2  " id="">
                                <input type="text" class="qnaOpt4 form-control" id="qnaOpt4" name="qnaA4[]">
                            </div>


                            <div class="row noMargin topPadding">
                                <div class="col-xs-12 col-sm-1 col-md-2 " id="">
                                    Correct Answer:
                                </div>
                                <div class="btn-group">
                                    <a class="btn btn-default dropdown-toggle" data-toggle="dropdown" href="#">Answer<span class="caret"></span></a>
                                    <ul class="dropdown-menu">
                                        <li><a href="#">Option1</a></li>
                                        <li><a href="#">Option2</a></li>
                                        <li><a href="#">Option3</a></li>
                                        <li><a href="#">Option4</a></li>
                                    </ul>
                                </div>
                            </div>
                        </div>

添加更多字段的脚本:

    <script type="text/javascript">
        $(document).ready(function() {
            var currentItem = 1;
            $('#addQna').click(function(){
                currentItem++;
                $('#items').val(currentItem);
                var strToAdd ='<div class="row noMargin topPadding" id="question1"><div class="col-xs-12 col-sm-1 col-md-4" id=""><input type="text" class="qnaQ form-control" id="qnaQ" name="qnaQ[]"></div><div class="col-xs-12 col-sm-1 col-md-2  " id=""><input type="text" class="qnaOpt1 form-control" id="qnaOpt1" name="qnaA1[]"></div><div class="col-xs-12 col-sm-1 col-md-2" id=""><input type="text" class="qnaOpt2 form-control" id="qnaOpt2" name="qnaA2[]"></div><div class="col-xs-12 col-sm-1 col-md-2" id=""><input type="text" class="qnaOpt3 form-control" id="qnaOpt3" name="qnaA3[]"></div><div class="col-xs-12 col-sm-1 col-md-2" id=""><input type="text" class="qnaOpt4 form-control" id="qnaOpt4" name="qnaA4[]"></div><div class="row noMargin topPadding"><div class="col-xs-12 col-sm-1 col-md-2" id="">Correct Answer:</div><div class="btn-group"><a class="btn btn-default dropdown-toggle" data-toggle="dropdown" href="#">Answer<span class="caret"></span></a><ul class="dropdown-menu"><li><a href="#">Option1</a></li><li><a href="#">Option2</a></li><li><a href="#">Option3</a></li><li><a href="#">Option4</a></li></ul></div></div></div>';

                $('#questions').append(strToAdd);

            });
});
</script>

提交表单到php的按钮:

<button type="submit" class="btn btn-default saveTraining" id="saveTraining">
        Save
    </button>

【问题讨论】:

  • 你可以在你的问题中添加一个 jsFiddle 吗?
  • 我认为缺少信息来回答你的问题,你有一个表单标签吗?,html中的div#questions在哪里?
  • 可能您将问题附加到div 之外的form 元素。

标签: javascript jquery html


【解决方案1】:

尝试将form 属性添加到具有表单id 的input 标记:

<input ... form="form-id">

【讨论】:

    【解决方案2】:

    您不应多次使用同一个 ID。 我在那里可以理解的是,当您附加一个新问题时,文本的 ID 和名称是相同的,因此,帖子不会识别所有值。

    【讨论】:

    • 是的,但是如果我只是复制并粘贴 .append 添加的块,它将起作用。所以这不是问题。
    • 好的。 id=questions 的元素在哪里?您是否附加到未定义的元素..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 2017-03-07
    • 2012-03-29
    • 2015-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多