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、2番目の値を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 に答える