发布请求不发送所有变量

时间:2012-10-23 13:29:33

标签: php javascript request max

我有一个表格,其中包含设置如下的行:

<div class="row unit" onmouseover="this.style.background = '#eeeeee';" onmouseout="this.style.background = 'white';" onclick="if(event.srcElement.nodeName != 'INPUT' && event.srcElement.nodeName != 'SELECT' && event.srcElement.nodeName != 'TEXTAREA'){goToByScroll(event.srcElement,-160);}">
            <div class="col">
                <div class="select">
                    <input type="checkbox" id="select<?php echo $i; ?>" name="select<?php echo $i; ?>">
                </div>

            </div>
            <div class="col name">
                <p><input class="searchable" type="text" id="name<?php echo $i; ?>" name="name<?php echo $i; ?>" value="<?php echo $name; ?>"></p>
                <p>Badge ID: <input class="searchable" type="text" id="badge<?php echo $i; ?>" name="badge<?php echo $i; ?>" value="<?php echo $badge; ?>" style="width: 50px;"></p>
            </div>
            <div class="col phone">
                <p>Work: <input class="searchable" type="text" id="phone<?php echo $i; ?>" name="phone<?php echo $i; ?>" value="<?php echo $phone; ?>"></p>
                <p>Cell: <input class="searchable" type="text" id="cell<?php echo $i; ?>" name="cell<?php echo $i; ?>" value="<?php echo $cell; ?>"></p>
                <p>Home: <input class="searchable" type="text" id="home<?php echo $i; ?>" name="home<?php echo $i; ?>" value="<?php echo $home; ?>"></p>
            </div>
            <div class="col email">
                <p>Work: <input class="searchable" type="text" id="email<?php echo $i; ?>" name="email<?php echo $i; ?>" value="<?php echo $email; ?>"></p>
                <p>Personal: <input class="searchable" type="text" id="perEmail<?php echo $i; ?>" name="perEmail<?php echo $i; ?>" value="<?php echo $perEmail; ?>"></p>
            </div>
            <div class="col file">
                <p class="removeFile"><input type="text" id="filename<?php echo $i; ?>" name="filename<?php echo $i; ?>" class="file" value="<?php echo $filename; ?>" readonly>
                Remove: <input type="checkbox" id="removeFile<?php echo $i; ?>" name="removeFile<?php echo $i; ?>"></p>
                <input type="file" id="file<?php echo $i; ?>" name="file<?php echo $i; ?>" onchange="myForm.elements['filename<?php echo $i; ?>'].value=myForm.elements['file<?php echo $i; ?>'].value;">
            </div>
</div>

使用javascript函数重复这些行,该函数增加名称:

function addTableRow(table){
    for(i=0; i<myForm.elements['entriesNum'].value; i++){
        var $tr = $(table).find(".row:last").clone();
        $tr.find("input,select,textarea").attr("name", function(){
          var parts = this.id.match(/(\D+)(\d+)$/);
          return parts[1] + ++parts[2];
        }).attr("id", function(){
          var parts = this.id.match(/(\D+)(\d+)$/);
          return parts[1] + ++parts[2];
        });
        $(table).find(".row:last").after($tr);

        $tr.find('.fileElements').remove();
        $tr.find('input[type!="radio"], textarea').removeAttr("value");
        $tr.find('input').removeAttr("checked");
        $tr.find('select option:first-child').attr("selected", true);
        $tr.find('input[type!="radio"]').removeAttr("disabled");
        $tr.find('input[type="radio"]').attr("disabled", "disabled");
        $tr.find('.error').hide();
    }
}

这完全有效,直到行数高于111.此时,当我提交时,无论我添加多少行,都不会在数组中包含更多数据。我能够通过使用print_r($ _ REQUEST);推断出这一点。我已经编辑了我的php.ini并将所有最大值设置为荒谬的高,仍然没有变化。

1 个答案:

答案 0 :(得分:0)

每当我遇到问题时,javascript创建的表单元素没有显示在POST中,它总是与我构建FORM标签的方式有关。

要寻找的东西......

您的FORM标签是否已正确关闭?

您的FORM是否在DOM中以相同级别开始和关闭?例如,你不想这样做......

<form method='post'>
<div>
  <!--lots of stuff-->
  </form>
</div>

你会想要这个......

<form method='post'>
  <div>
    <!--lots of stuff-->
  </div>
</form>

您是否有另一个FORM标签在您实际使用之前已打开但未关闭?像这样......

<form method='get'>
   <!--some kind of form about something else-->

<form method='post'>
   <!--the data you're currently focused on-->
</form>