表单不提交所有字段

时间:2016-11-02 13:19:40

标签: php html forms

我有一个非常庞大的表单,我可以使用JavaScript 动态扩展。在这种形式下,我有不同的 DataSet,大约有50个字段来提交每个。当我提交表单时,我正在通过for循环从0到100 来检查哪些字段已设置。所以我像这样创建HTML:

<form id = "formUpdate" role="form" action="index.php?action=update" method="post">
    <table id="table" class="table table-hover"><thead>
        <tr>
            <th> Head1
            <th> Head2
            <th> Head3
            <th> Head4
            <th> Head5
            <th> Head6
            <th> ...
                <tbody>
                    <?php
                        for ($i=0;$i<$dataSets;$i++){  ?>
                            <tr>
                                <td style="text-align: center; vertical-align: middle;"><label><?php echo $test[$i]['1']; ?> </label></td>
                                <td style="text-align: center; vertical-align: middle;"> <input required class="form-control formsUser" form="formUpdate" name="fieldA<?php echo $test[$i]['2']; ?>" value=""></input>
                                <td style="text-align: center; vertical-align: middle;"> <textarea style="height:34px" class="form-control formsUser" form="formUpdate" name="fieldB<?php echo $test[$i]['3'];?>" required></textarea>
                                <td style="text-align: center; vertical-align: middle;"> <input class="form-control formsUser" form="formUpdate" name="fieldC<?php echo $test[$i]['4']; ?>" required value=""></input>
                                <td style="text-align: center; vertical-align: middle;"> <input class="form-control formsUser" form="formUpdate" name="fieldD<?php echo $test[$i]['5']; ?>" required value=""></input>
                                <td style="text-align: center; vertical-align: middle;"> <input class="form-control formsUser" form="formUpdate" name="fieldE<?php echo $test[$i]['6']; ?>" value=""></input>
                            </tr>
                   <?php } ?>
   </table>
   <button class="btn btn-success" form="formUpdate" type="submit"> Submit </button>
</form>

PHP:

public function update(){
     print_r($_REQUEST);
     for ($i=0;$i<100;$i++){
          $string = "fieldA".$i;

          if (isset($_POST[$string])){
              // set the other _POSTS
          }
          else {
              //do something different
          }
      }
} 

但这仅适用于前10个数据集。当我调用print_r($_REQUEST);时,它也只包含前10个数据集的字段内容。我读到了 php.ini max_input_vars的限制并增加了这个值,但没有任何改变。此外,我的数据不应达到默认值1,000。我还尝试更改max_input_nesting_levelmemory_limitpost_max_size的值。

1 个答案:

答案 0 :(得分:0)

OMG。遇到了问题。我正在使用DataTables,在提交表单时,表格被重新绘制,仅显示前10个数据集...对不起那些人并感谢您的帮助:))