2010-10-28 2 views
74

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

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

Возможно ли это?

+1

Возможный дубликат [Отключенные входы формы не отображаются в запросе] (http://stackoverflow.com/questions/7357256/disabled-form-inputs-do-not-appear-in-request) –

ответ

159

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

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

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

<input type="text" readonly="readonly" /> 
+0

Это не будет отключать поле по своему желанию (значение все равно будет передано) –

+9

@Pekka: Это я * думаю *, что он хочет. Когда он отключается, значения не проходят, а с помощью readonly он может помешать ему редактировать, и значение все равно будет передано. – Sarfraz

+0

@Sarfraz ах, справедливо. Это может быть оба пути, правда. –

4

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

var myInput = document.getElementById('myInput'); 
myInput.disabled = true; 
+0

Простой и умный! Благодаря ! –

+0

MacGyver будет гордиться –

+0

Обращаясь к исходному вопросу, чтобы передать значение во время отправки формы, свойство «disabled» должно быть «false» вместо «true». –

10

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

<input type="text" name="lat" value="22.2222" readonly="readonly" /> 
+0

спасибо: D для объяснения –

15

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

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

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

+1

Вы можете добавить CSS в отключенные текстовые поля, чтобы их серые вне. – krillgar

Смежные вопросы