我使用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>
答案 0 :(得分:2)
尝试将form
属性添加到input
标记,其格式为:
<input ... form="form-id">
答案 1 :(得分:0)
您不应多次使用相同的ID。 我在那里可以理解的是,当你附加一个新问题时,文本的ID和名称是相同的,这样,帖子就不会识别所有的值。