Я создаю форму LOOONG с тысячами различных входных значений (точнее, через ~ 2900 входов) (она должна генерировать маркетинговую электронную почту на основе значений, введенных в форму, но существует около дюжины возможных разделы для электронной почты, каждая из которых содержит сотни настраиваемых атрибутов, которые могут изменить внешний вид созданного письма). Проблема, с которой я сталкиваюсь (я думаю), заключается в том, что я передаю ограничение max_variables_input 1000 для моего сервера и заканчивая связью ошибок " Уведомление: Неопределенный индекс: " и сломанный код на другом конце.
Вне того, как мы попросили нашего хоста повысить лимит ввода, мне интересно, знает ли кто-нибудь, как ограничить входные данные, переданные скрипту действия тем, которые используются?
Как я создал форму, у меня есть модули электронной почты, которые используются в 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>
(Примечание. Не все из этих divs обязательно используются... количество модулей определяется вводом номера :)
<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>
Есть ли способ отправить только те входы, которые я использую в скрипт действия?
Если вы говорите о параметре max_input_vars
для php, вы также можете установить это значение в файле.htaccess:
php_value max_input_vars 3000
См. Руководство.
Чтобы ответить на ваш вопрос, вы можете удалить блоки, скрытые с помощью javascript, и, поскольку вы также отметили вопрос с помощью jQuery:
$('form').on('submit', function(e) {
$('#hiddenelements').remove();
});
$("div").not(":visible");
?