#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 ) различные поля?