2016-12-27 17 views
0

Как я могу запретить отправку частей формы на моей странице по ширине страницы?Предотвращение отправки форм на основе ширины

т.е. если страница находится между 900px и 1200px только форма ввода/выбора элементов с классом .regular-form будут включены в форме представления.

+0

У вас есть несколько решений, но я бы сказал, что больше деталей необходимо, чтобы полностью понять, как вы себе это будет работать. –

+0

Способ, которым заявлен ваш вопрос, не имеет смысла. Я * угадываю *, что это отзывчивая форма, и причина, по которой вы не хотите, чтобы эти входные данные были представлены, потому что они не видны на этой ширине. Если это так, вы не должны дублировать «должен ли я отображать этот вход?». логики в "должен ли я представить этот вход?" логика. Вместо этого используйте CSS-запросы для показа/скрытия их и используйте JS, чтобы сказать «не отправляйте скрытые». Например http://stackoverflow.com/questions/1374147/how-to-avoid-sending-input-fields-which-are-hidden-by-displaynone-to-a-server Это будет намного проще в обслуживании. –

ответ

2

Вы можете убедиться, что соответствующие элементы не являются часть DOM, и это гарантирует, что они также не будут отправлены в представлении.

Вы можете использовать этот код, чтобы сделать это:

if($(window).width() > 900 && $(window).width() < 1200) { 
    $('input,select,textarea').not('.regular-form').remove() 
} 
+0

Я думаю, что это должно быть 'not ('. regular-form'). remove()' в соответствии с OP –

+1

Правильно :) Спасибо за это! – Dekel

+0

Не мастер JS на любом участке. Итак, будет ли это работоспособным кодом? '' – CRAIG

0

Я не знаю, если вам необходимо учитывать для окна динамично изменяется или нет, так что простое решение было бы что-то вроде этого:

if($(window).width() > 900 && $(window).width() < 1200) 
{ 
    $('.regular-form').prop('disabled', false); 
} 
+1

@ Dekel, почему это так? Кажется мне это нужно. https://www.w3.org/TR/html401/interact/forms.html#disabled –

 Смежные вопросы

  • Нет связанных вопросов^_^