Pregunta

Tengo un formulario en el que necesito deshabilitar una variedad de casillas de verificación y algunos campos para que el usuario no pueda cambiar/alterar sus valores. Sin embargo, cuando envío el formulario, faltan los valores postales de los elementos deshabilitados. ¿Cómo puedo gestionar lo que estoy tratando de hacer sin este problema?

En este momento estoy deshabilitando los campos deshabilitando el contenedor Div así:

#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; 

}
¿Fue útil?

Solución

Bueno, hay 3 soluciones en las que puedo pensar:

  • Hazlos readonly agregando el readonly propiedad al elemento.
  • Deshabilitarlos en CSS/JavaScript. Colorearlo como si estuviera discapacitado y no permita la edición con JavaScript,
  • Déjelo deshabilitado y retire el desactivado en enviar.

Elige tu opción :)

Otros consejos

Podrías usar readonly en vez de disabled Lo que es casi lo mismo para el usuario (no se puede editar) pero los valores de readonly-Elementos se envían mientras el disabled los que no.

Tenga en cuenta que hay Algunas otras diferencias Entre Readonly y Discapaced que podría llevar a otros problemas para usted:

El atributo discapacitado

  • Los valores para elementos de formulario deshabilitado no se pasan al método del procesador. El W3C llama a esto un elemento exitoso (esto funciona similar a las casillas de verificación de formulario que no están marcadas).
  • Algunos navegadores pueden anular o proporcionar un estilo predeterminado para elementos de formulario deshabilitado. (Texto de gris o en relieve) Internet Explorer 5.5 es particularmente desagradable al respecto.
  • Los elementos de formulario deshabilitado no reciben enfoque.
  • Los elementos de formulario deshabilitado se omiten en la navegación de pestañas.

El atributo solo de lectura

  • No todos los elementos de formulario tienen un atributo Readonly. Lo más notable, el y los elementos no tienen atributos de lectura (aunque ambos tienen atributos deshabilitados)
  • Los navegadores no proporcionan retroalimentación visual anulada por defecto que el elemento de formulario se lea solo. (Esto puede ser un problema ... ver más abajo).
  • Los elementos de formulario con el conjunto de atributos Readonly se pasarán al procesador de formulario.
  • Solo lea los elementos de formulario pueden recibir el enfoque
  • Los elementos de solo lectura se incluyen en la navegación con pestañas.

No tiene mucho sentido enviar los mismos datos de aquí para allá.

Solo vete en el lado del servidor y luego úsalo al enviar.

Además, suponiendo que

El usuario no puede cambiar/alterar sus valores.

es bastante tonto.

Puede usar "solo lectura" en lugar de discapacitados, que debería tener el efecto deseado

También puede usar JavaScript para enviar su formulario, y pre-suscribir no se puede determinar (habilitar: p) los diversos campos?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top