我有一个表,我可以根据用户需求动态添加带有输入字段的行。这些输入字段存储为数组,因此循环它们可以获取每行中的值以插入到数据库中。问题是在数组中只识别表中的第一个“静态”行。提交时,每个其他动态输入字段都不会存储在输入数组中。表代码的片段是
<tr><td><input type=number name=minimum[] required></input></td><td><input type=number name=maximum[] required></input></td> <td><input type=number name=overall[] required></input>
<td><?php echo $formular;?></td></tr>
</tbody><tfoot><tr><td colspan="25"><div class="text-center">
<button type="submit" class="btn btn-success">Submit</button>
</div></td></tr></tfoot></table></div></form>
添加额外行的jquery代码是:
<script>
$(window).load(function(){
$(function () {
var rowv="<tr><td><input type=number name=minimum[] required></input></td>
<td><input type=number name=maximum[] required></input></td><td><input
type=number name=overall[] required></input></td><td><?php echo $formular;?>
</td></tr>";
$("#addRow").click(function () {
var row = $(rowv);
$("#mt > tbody").append(row);
});
});
});
</script>
处理数组的(缩写)php代码是:
foreach($_POST['fi'] as $key=>$value){
$sql="insert into band(fi) values ('$value')";
}
仅插入第一行。动态添加的任何行都不会提交给post数组。我怎么解决这个问题?
答案 0 :(得分:0)
像这样创建输入字段,然后将其附加到表单然后尝试。
var input = document.createElement("input");
input.type = "text";
input.name = "minimum[]";
input.required = "true";
$("#testForm").append(input);
答案 1 :(得分:0)
您的jQuery语法似乎不正确。将单击功能更改为:
$("#addRow").click(function () {
$("#mt > tbody").append(
"<tr>" +
"<td><input type='number' name='minimum[]' required></td>" +
"<td><input type='number' name='maximum[]' required></td>" +
"<td><input type='number' name='overall[]' required></td>" +
"<td><?php echo $formular;?></td>" +
"</tr>"
);
});