Esto es lo que encontré por Firebug en Firefox.
¿Es lo mismo en otros navegadores?
Si es así, ¿cuál es la razón de esto?
form-submit
disabled-input
forms
http-post
Dios mio
fuente
fuente
Respuestas:
Sí, todos los navegadores no deben enviar las entradas deshabilitadas, ya que son de solo lectura.
Más información (sección 17.12.1)
fuente
<input type="hidden">
elemento con el mismo nombre / valor que la entrada deshabilitada.disabled
la entrada no enviará datos.Usa el
readonly
atributo:Fuente aquí
fuente
readonly
funciona, solo asegúrese de pasar el atributo "name" a la entrada.Puede usar tres cosas para imitar deshabilitado:
HTML:
readonly
atributo (para que el valor presente en la entrada se pueda usar en el envío del formulario. Además, el usuario no puede cambiar el valor de entrada)CSS:
'pointer-events':'none'
(impide que el usuario haga clic en la entrada)HTML:
tabindex="-1"
(bloqueando al usuario para navegar a la entrada desde el teclado)fuente
No se envían, porque eso es lo que dice en la especificación W3C .
En otras palabras, la especificación dice que los controles que están deshabilitados se consideran inválidos y no deben enviarse.
fuente
Disabled
los controles no pueden tener éxito y un control exitoso es "válido" para el envío. Esta es la razón por la cual los controles deshabilitados no se envían con el formulario.fuente
Hay dos atributos, a saber,
readonly
ydisabled
, que pueden hacer una entrada de solo lectura. Pero hay una pequeña diferencia entre ellos.readonly
atributo desactiva su texto de entrada y los usuarios ya no pueden cambiarlo.disabled
atributo no solo hará que su texto de entrada esté deshabilitado (inmutable) sino que tampoco se puede enviar .Enfoque jQuery (1):
Enfoque jQuery (2):
Enfoque de JavaScript:
PS
disabled
yreadonly
son atributos html estándar.prop
introducido conjQuery 1.6
.fuente
todavía se puede hacer clic en los controles de selección, incluso en el atributo de lectura
si aún desea deshabilitar el control pero desea que se publique su valor. Puede considerar crear un campo oculto. con el mismo valor que tu control.
luego cree un jquery, en el cambio de selección
fuente