Envío del valor de un campo de entrada deshabilitado


Respuestas:


238

Quiero deshabilitar un campo de entrada en un formulario y cuando envío el formulario, los valores del formulario deshabilitado no se envían .

Caso de uso: estoy tratando de obtener Lat Lng de Google Map y quiero mostrarlo ... pero no quiero que el usuario lo edite .

Puede usar la readonlypropiedad en su campo de entrada

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

2
Tenga en cuenta que la entrada aún podrá recibir el enfoque. Ver: stackoverflow.com/questions/5443952/…
Rafael Oliveira

5
Gran respuesta 8 años después. Solo quería agregar eso para que el texto parezca no editable agrego el CSS:input:read-only { color:grey; }
UltrasoundJelly

21

Sé que esto es antiguo, pero me encontré con este problema y ninguna de las respuestas es adecuada. La solución de nickf funciona pero requiere javascript. La mejor manera es deshabilitar el campo y aún pasar el valor es usar un campo de entrada oculto para pasar el valor al formulario. Por ejemplo,

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

De esta forma se pasa el valor pero el usuario ve el campo en gris. El atributo readonly no lo atenúa.


1
Puede agregar CSS en los cuadros de texto desactivados para atenuarlos.
krillgar

¿Es valuenecesario en entrada deshabilitada?
Ömer An

10

también puede usar el atributo de solo lectura: la entrada no se atenuará pero no será editable

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

2

Los elementos de entrada tienen una propiedad llamada disabled. Cuando se envíe el formulario, simplemente ejecute un código como este:

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

5
Al abordar la pregunta original, para pasar el valor durante el envío del formulario, la propiedad "deshabilitada" debe ser "falso" en lugar de "verdadero".
Daniel Vukasovich
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.