如何从嵌套表单中收集数据数组

时间:2014-10-16 07:10:49

标签: javascript php

您好我正在尝试使用javascript来允许管理员键入大小,没有行李,没有可用于产品的纸箱。由于我无法使用嵌套表单,因此我在表单中使用javascript。我可以使用javascript实现它但无法收集在文本框中输入的所有数据。只显示第一个条目。

Php显示输入的数据

 $_SESSION['myInputs_all'][]=array($_POST["myInputs_d"],$_POST["myInputs_d1"],$_POST["myInputs_bags"],$_POST["myInputs_carton"]);
 print_r($_SESSION['myInputs_all']);
foreach ( $_SESSION['myInputs_all'] as $eachInput) 
{
     echo $eachInput . "<br>";

}

HTML

            <tr>
                <th>Size D(mm)</th>
                <th>Size D1(mm)</th>
                <th>No of Bags</th>
                <th>No of Carton</th>
                </tr>   

               <div id="dynamicInput">


         <tr><td> Entry 1</td></tr>
         <tr>
          <td><input type="text" name="myInputs_d" size='5'>
          <input type="text" name="myInputs_d1" size='5'>
          <input type="text" name="myInputs_bags" size='5'>
          <input type="text" name="myInputs_carton" size='5'></td>
         </tr>
     </div>
     <tr>
     <td>
     <input type="button" value="Add another text input"  name="myInputs[]" onClick="addInput('dynamicInput');">

                                                         </td>  
                                                        </tr>

的javascript

<script>
var counter = 1;
var limit = 10;
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) + " <input type='text' name='myInputs_d[]' size='5'><input type='text' name='myInputs_d1[]' size='5'><input type='text' name='myInputs_bags[]' size='5'><input type='text' name='myInputs_carton[]' size='5'>";
          document.getElementById(divName).appendChild(newdiv);

          counter++;
     }
}
</script>

当我print_r($ _ SESSION [myInputs_all])时,它显示

Array ( [0] => Array ( [0] => ujkopl [1] => jl[ [2] => uj [3] => juy ) ) Array

1 个答案:

答案 0 :(得分:0)

像这样尝试循环

 <?php for($i=0;$i<count($_SESSION["myInputs_all"]);)?>
<tr> <td><?php echo $_SESSION["myInputs_all"][$i]['ItemDescription']; ?></td></tr>

“项目描述”是将针对每个索引i打印的索引值。 在您的代码中,“myInputs_all”似乎是会话值数组。所以打印每个索引将是确切的方式.HTH