如何绕过max_variables_input

时间:2014-02-23 01:11:13

标签: javascript php jquery forms

我正在创建一个LOOONG表单,其中包含数千个不同的输入值(更准确地说是~2900个输入)(它应该根据表单中输入的值生成营销电子邮件,但是有关于电子邮件的十几个可能的部分,每个部分都有数百个可自定义的属性,可以改变生成的电子邮件的外观。我遇到的问题(我认为)是我为我的服务器传递了max_variables_input限制为1,000,最后出现了一堆“通知:未定义的索引:”错误和损坏的代码在另一端。

除了要求我们的主机提高输入限制外,我想知道是否有人知道如何限制传递给动作脚本的输入到正在使用的输入?

我设置表单的方式,我有正在使用的电子邮件模块出现在带有ID的div中:

<div id="SectionDiv1"></div>
<div id="SectionDiv2"></div>
<div id="SectionDiv3"></div>
<div id="SectionDiv4"></div>
<div id="SectionDiv5"></div>
<div id="SectionDiv6"></div>

(注意:并非所有这些div都必须使用......模块数量由数字输入决定:)

<label>Number of Sections</label> <input name="nosections" id="nosections"
class="2-digit-number" type="number" min="1" max="6" value="3">

所有其他未使用的模块都隐藏在另一个div中显示:

<div id="hiddenelements" style="display: none;"></div>

有没有办法只能将我正在使用的输入发送到动作脚本中?

1 个答案:

答案 0 :(得分:1)

如果您正在讨论php的max_input_vars设置,您也可以在.htaccess文件中设置该值:

php_value max_input_vars 3000

请参阅manual

要回答你的问题,你可以删除使用javascript隐藏的块,因为你还用jQuery标记了问题:

$('form').on('submit', function(e) {
  $('#hiddenelements').remove();
});