Как удостовериться, что <избранное> поле формы отправлено, когда оно отключено?

У меня есть a select поле формы, которое я хочу отметить как "только для чтения", как в пользователе, не может изменить значение, но значение все еще отправлено с формой. Используя disabled атрибут препятствует тому, чтобы пользователь изменил значение, но не отправляет значение с формой.

readonly атрибут только доступен для input и textarea поля, но это в основном, что я хочу. Там какой-либо путь состоит в том, чтобы получить ту работу?

Две возможности, которые я рассматриваю, включают:

  • Вместо того, чтобы отключить select, отключите весь из options и использование CSS для отображения выбора серым, таким образом, это похоже на свое отключенное.
  • Добавьте обработчика события Click к кнопке отправки так, чтобы она включила все отключенные выпадающие меню прежде, чем отправить форму.
172
задан Steve Chambers 16 November 2016 в 15:52
поделиться

4 ответа

<select disabled="disabled">
    ....
</select>
<input type="hidden" name="select_name" value="selected value" />

Где select_name - это имя, которое вы обычно даете .

Если мне не изменяет память мне правильно, с IIS ставишь раньше, с апачем ставишь после. Как всегда, ключевым моментом является тестирование.

114
ответ дан 23 November 2019 в 20:39
поделиться

Или используйте какой-нибудь JavaScript, чтобы изменить имя выбора и отключить его. Таким образом, выбор все еще будет отправлен, но с использованием имени, которое вы не проверяете.

2
ответ дан 23 November 2019 в 20:39
поделиться

Отключите поля, а затем включите их перед отправкой формы:

Код jQuery:

jQuery(function ($) {        
  $('form').bind('submit', function () {
    $(this).find(':input').prop('disabled', false);
  });
});
218
ответ дан 23 November 2019 в 20:39
поделиться

Другой вариант - использовать атрибут «только для чтения».

<select readonly="readonly">
    ....
</select>

В режиме «только для чтения» значение все еще отправляется, поле ввода неактивно, и пользователь не может его редактировать.

Изменить:

Цитируется из http://www.w3.org/TR/html401/interact/forms.html#adef-readonly :

  • Элементы только для чтения получают фокус, но не могут быть изменены пользователем.
  • Элементы только для чтения включены в навигацию с вкладками.
  • Элементы только для чтения могут быть успешными.

Когда он говорит, что элемент может быть успешным, это означает, что он может быть представлен, поскольку указано здесь: http://www.w3.org/TR/html401/interact/forms.html#successful-controls

-8
ответ дан 23 November 2019 в 20:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: