Javascript jQuery不允许我在.append()之后提交表单的所有输入
我正在使用jQuery.append()向html表单添加大量输入。我试图使用数组提交输入,但它无法识别附加的输入字段。如果我以静态方式附加这些,它将起作用: 输入字段如下所示:Javascript jQuery不允许我在.append()之后提交表单的所有输入,javascript,jquery,html,Javascript,Jquery,Html,我正在使用jQuery.append()向html表单添加大量输入。我试图使用数组提交输入,但它无法识别附加的输入字段。如果我以静态方式附加这些,它将起作用: 输入字段如下所示: <form action="http://localhost:8888/xxx/action.php" method="post" id="form"> <div class="row noMargin" id="question1">
<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>
$(文档).ready(函数(){
var currentItem=1;
$('#addQna')。单击(函数(){
currentItem++;
$('项目').val(当前项目);
var strToAdd='Correct Answer:';
$(“#问题”).append(strToAdd);
});
});
将表单提交给php的按钮:
<button type="submit" class="btn btn-default saveTraining" id="saveTraining">
Save
</button>
拯救
您不应该多次使用同一id。
我能理解的是,当你添加一个新问题时,文本的id和名称是相同的,因此,帖子不会识别所有的值。尝试将
form
属性添加到input
标记中,并使用表单id:
<input ... form="form-id">
你能给你的问题添加一个JSFIDLE吗?我想回答你的问题的信息缺失了,你的表单标签里有所有的标签吗?,div#questions
在html中的什么位置?可能您将问题附加到div
元素之外的form
元素中。是的,但如果我只是复制并粘贴该块。append添加该块就可以了。所以这不是问题所在。id为questions的元素在哪里?是否附加到未定义的元素。。