Лучший способ отправки отключенных полей формы в JQuery? - PullRequest
7 голосов
/ 13 января 2012

В jQuery существует несколько способов отправки (POST) отключенных полей формы:

  • Иметь скрытое поле, которое изменяется при изменении ввода, и отправлять это
  • Вручную добавить пары ключ / значение при отправке
  • Возврат значений на стороне сервера (только если значения не ожидаются для изменения)

Мне было интересно, какой (если таковой имеется) считается наилучшей практикой для отправки отключенных полей формы. Очевидно, readOnly - лучший вариант, когда он доступен, но у меня есть флажки, которые мне нужно отправить, даже если они отключены (из-за бизнес-логики). Я понимаю, что это не идеальная ситуация, но это редко случается в веб-разработке.

Есть ли лучший способ отправки отключенных элементов формы?

Ответы [ 3 ]

8 голосов
/ 13 января 2012

Лучший вариант - сделать входные данные доступными только для чтения - создайте событие click для флажков, которые просто возвращают false, и измените их цвет фона.

Не существует наилучшей практики, но для этого требуется наименьшее количествожульничество.

5 голосов
/ 13 января 2012

Четвертым решением было бы включить флажки перед отправкой формы:

$("form").submit(function() {
    $("input:checkbox", this).prop("disabled", false);
});

Вы можете использовать более сложный селектор, если вы не хотите повторно включать все флажки.

0 голосов
/ 20 июня 2014

Существует другой способ, если требуется опубликовать все или определенные отключенные входы:

  1. Шаг 1: дать имя имени класса (например, мод).
  2. Шаг 2:onSubmit, включил все эти поля, следуя примеру ниже:

    $ ("input [class = mod]"). removeAttr ('disabled');

  3. Step3: Опубликовать данные

  4. Шаг 4: снова отключить эти поля (при необходимости), следуя приведенному ниже примеру:

    $ ("input [class = mod]"). Attr ('disabled = "disabled"');

...