ОПУБЛИКОВАТЬ значения отключенных элементов формы

#php #disabled-input

#php #отключен -ввод

Вопрос:

У меня есть форма, в которой мне нужно отключить массив флажков и несколько полей, чтобы пользователь не мог изменять / изменять их значения. Однако, когда я отправляю форму, значения 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; 

}
  

Комментарии:

1. Пожалуйста, прекратите помечать свои заголовки.

Ответ №1:

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

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

Выбирайте сами 🙂

Комментарии:

1. Как мне удалить отключенные элементы при отправке?

2. Я написал небольшой скрипт, который перебирает все элементы формы и включает их при отправке формы. Спасибо!

Ответ №2:

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

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

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

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

Атрибут только для чтения

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

Ответ №3:

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

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

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

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

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

Комментарии:

1. Это форма, в которой мне нужно иметь некоторые предопределенные параметры в соответствии с типом пользователя, которые отличаются от группы к группе, поэтому поля должны быть видны, но не включены.

2. Я не говорю о видимости на стороне клиента. Я говорю о стороне сервера, у которой уже есть эти значения — sdo, нет абсолютно никакого смысла отправлять их снова. И о глупом предположении, что пользователь не может изменять значения

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

4. у меня была проблема, связанная с тем, что часть формы должна быть сгенерирована javascript со значением, которое пользователь выбирает перед тем, как выйти за пределы формы. после того, как пользователь нажал кнопку «добавить в форму», выбранное значение не должно быть изменено снова после добавления его в форму, но должно быть отправлено, потому что серверная сторона должна знать это сгенерированное имя поля и значение. поэтому только для чтения — идеальный способ!

Ответ №4:

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

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