如果需要,我正在尝试为用户提供添加多个值的功能。我使用以下JS表单:
<script type="text/javascript">
var counter = 1;
var limit = 3;
function addInput(divName){
if (counter == limit) {
alert("You have reached the limit of adding " + counter + " inputs");
}
else {
var newdiv = document.createElement('div');
newdiv.innerHTML = "Entry " + (counter + 1) + " <br><input type='text' name='myInputs[]' value=''>";
document.getElementById(divName).appendChild(newdiv);
counter++;
}
}
</script>
以下表格:
<form action="add.php" method="post" ENCTYPE="multipart/form-data">
<div id="dynamicInput">Entry 1<br><input type="text" name="myInputs[]"></div>
Enter the POC's number<br>
<input type="button" value="Add another POC" onClick="addInput('dynamicInput');">
<input type="submit" name="Submit" id="Submit" value="Submit">
</form>
如果我将第一个值填充为123而第二个值填充为124,一旦它发布到add.php,我只获得第一个值。我已经确认这些值没有发布(通过print_r($ _ POST);)并通过firebug发布。
Array ( [myInputs] => Array ( [0] => 123 )
任何人都可以找到为什么我会丢失阵列的其余部分吗?
答案 0 :(得分:1)
您的网站中有表单处理程序,因为数组元素[Submit] =&gt;提交也失败了。在单个php页面上查看它。我认为问题不在这个脚本或这种形式中。