Как исключить определенные поля формы при отправке формы без отключения поля - PullRequest
8 голосов
/ 02 февраля 2011

Если у меня есть форма со следующими 3 полями:

Имя Фамилия Дата рождения

Когда пользователь заполнит все 3 поля и отправит заявку, вы получите URL

http: //fakeURL.php?firstName=Fred&lastName=Flintstone&DateOfBirth=2/5/1952

Однако, если пользователь введет только имя и дату рождения, вы получите

http: //fakeURL.php?firstName=Fred&lastName=&DateOfBirth=2/5/1952 (where lastName has no value)

Как мне достичь

http: //fakeURL.php?firstName=Fred&DateOfBirth=2/5/1952 (where lastName and value are removed from the URL)

Я не хочу отключать поле ввода при использовании onsubmit. Есть ли лучший способ, чем отключить поле ввода?

Пожалуйста, помогите ...

Ответы [ 3 ]

17 голосов
/ 02 января 2014

Просто удалите атрибут "name" из элемента ввода.

// using jQuery
$('#inputId').removeAttr('name');

// native Javascript
document.getElementById('inputId').removeAttribute('name');
5 голосов
/ 02 февраля 2011

Вы должны либо:

  1. Удалите или отключите поле из формы перед отправкой
  2. Не отправляйте форму, вместо этого перенаправьте на URL-адрес, который вы строите из формы самостоятельно
  3. Сделайте AJAX-запрос вместо того, чтобы покидать страницу

Помимо этих параметров, вы не можете отправить эту форму через GET, если все входные данные не станут частью URL. Это часть спецификаций HTML и HTTP.

0 голосов
/ 02 февраля 2011

Вы должны использовать формы с методом GET только , когда предполагается, что новая страница будет добавлена ​​в закладки и передана.

Поскольку вы говорите о том, что принимает данные от пользователя (и я предполагаю, что вы также сохраняете эти данные в базе данных или в каком-либо аналогичном постоянном хранилище), вам следует использовать POST .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...