Разнести значения отключенных элементов формы


У меня есть форма, в которой мне нужно отключить массив флажков и несколько полей, чтобы пользователь не мог изменить/изменить их значения. Когда я отправляю форму, значения POST отключенных элементов отсутствуют/null. Как мне справиться с тем, что я пытаюсь сделать, без этой проблемы?

Прямо сейчас я отключаю поля, отключая контейнер div следующим образом:

#unselectable {
    -moz-user-select: -moz-none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    -webkit-user-select: none;
    cursor:not-allowed; 

}
4 7

4 ответа:

Ну, есть 3 решения, которые я могу придумать:

  • Сделайте их readonly, добавив свойство readonly к элементу.
  • отключите их в CSS / JavaScript. Раскрасьте его, как будто он отключен, и не разрешайте редактирование с помощью JavaScript,
  • Оставьте его отключенным и удалите отключенное при отправке.

Выбирайте сами:)

Вы можете использовать readonly вместо disabled , что почти одинаково для пользователя (не может быть editet), но значения readonly - элементов передаются, а disabled - Нет.

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

Отключенный атрибут

  • значения для отключенных элементов формы не передаются в метод процессора. Консорциум W3C называет это успешный элемент.(Это работает аналогично установите флажки, которые не установлены.)
  • некоторые браузеры могут переопределять или предоставлять стиль по умолчанию для отключенных элементов формы. (Серый или тиснение текста) Internet Explorer 5.5 является особенно неприятно об этом говорить.
  • отключенные элементы формы не получают фокус.
  • отключенные элементы формы пропускаются при навигации по вкладкам.

Атрибут Только Для Чтения

  • не все элементы формы имеют атрибут ReadOnly. Наиболее заметные, элементы,, и не имеют только чтение атрибуты (хотя оба они имеют отключенные атрибуты)
  • браузеры не предоставляют переопределенной визуальной обратной связи по умолчанию, что элемент формы доступен только для чтения. (Это может быть проблемой ... см.)
  • элементы формы с набором атрибутов readonly будут переданы обработчику форм.
  • элементы формы только для чтения могут получить фокус
  • элементы формы только для чтения включены в табуляцию навигация.

Нет особого смысла посылать одни и те же данные туда и обратно.

Просто оставьте на стороне сервера и затем используйте его при отправке.

Кроме того, предполагая, что

Пользователь не может изменять их значения.

Довольно глупо.

Вы можете использовать "только для чтения" вместо отключено, что должно иметь желаемый эффект

Вы также можете использовать javascript для отправки своей формы и предварительно отправить un-disable (enable :P ) различные поля?