1

如果需要,我正在尝试让我的用户能够添加多个值。我使用以下 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 )

谁能找到我为什么会丢失数组的其余部分?

4

1 回答 1

1

您的站点中有表单处理程序,因为数组元素 [Submit] => Submit 也丢失了。在单个 php 页面上检查它。我认为问题不在此脚本或此表单中。

于 2013-01-25T15:44:48.863 回答