Отправка значения отключенного поля ввода

101

Я хочу отключить поле ввода, но когда я отправляю форму, оно все равно должно передавать значение.

Пример использования: я пытаюсь получить широту и долготу из Google Maps и хочу отобразить их, но я не хочу, чтобы пользователь их редактировал.

Это возможно?

Харша М.В.
источник
1
возможные дубликаты входных данных
Алиреза Фаллах

Ответы:

239

Я хочу отключить поле ввода в форме, и когда я отправляю форму, значения из отключенной формы не отправляются .

Пример использования: я пытаюсь получить Lat Lng с карты Google и хочу отобразить его ... но не хочу, чтобы пользователь редактировал его .

Вы можете использовать readonlyсвойство в поле ввода

<input type="text" readonly="readonly" />
Сарфраз
источник
2
Обратите внимание, что вход по-прежнему сможет получать фокус. См .: stackoverflow.com/questions/5443952/…
Рафаэль Оливейра,
5
Отличный ответ 8 лет спустя. Просто хотел добавить, что чтобы текст выглядел нередактируемым, я добавляю css:input:read-only { color:grey; }
UltrasoundJelly
21

Я знаю, что это старый, но я только что столкнулся с этой проблемой, и ни один из ответов не подходит. Решение nickf работает, но требует javascript. Лучший способ - отключить поле и по-прежнему передавать значение - использовать скрытое поле ввода для передачи значения в форму. Например,

<input type="text" value="22.2222" disabled="disabled" />
<input type="hidden" name="lat" value="22.2222" />

Таким образом значение передается, но пользователь видит серое поле. Атрибут readonly не выделяется серым цветом.

Абу Сулейман
источник
1
Вы можете добавить CSS в отключенные текстовые поля, чтобы они были серыми.
krillgar
Нужен ли valueв отключенном входе?
Омер Ан
10

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

<input type="text" name="lat" value="22.2222" readonly="readonly" />
пжновас
источник
2

Элементы ввода имеют свойство, называемое disabled. Когда форма будет отправлена, просто запустите такой код:

var myInput = document.getElementById('myInput');
myInput.disabled = true;
Nickf
источник
5
Обращаясь к исходному вопросу, чтобы передать значение при отправке формы, свойство disabled должно быть false вместо true.
Даниил Вукасович