447 votos

Puede HTML casillas de verificación se establece en el modo de sólo lectura?

Pensé que podría ser, pero como yo no voy a poner mi dinero donde está mi boca (por así decirlo) establecer el atributo de sólo lectura-en realidad no parece hacer nada.

Yo prefiero no utilizar Movilidad, ya que quiero comprobado casillas de verificación correspondientes para ser presentadas con el resto del formulario, simplemente no quiero que el cliente sea capaz de cambiar en determinadas circunstancias.

254voto

ConroyP Puntos 24021

READONLY no trabaja en las casillas de verificación como se le impide la edición de un campo valor, pero con una casilla de verificación en realidad se está editando el campo de estado (on || off)

De faqs.org:

Es importante entender que READONLY simplemente impide que el usuario cambie el valor del campo, no de la interacción con el campo. En las casillas de verificación, por ejemplo, usted puede comprobar a on o a off (por lo que establece el estado de activación), pero no cambia el valor del campo.

Si usted no desea utilizar disabled pero todavía desea enviar el valor, acerca de cómo enviar el valor de un campo oculto y sólo la impresión de su contenido para que el usuario cuando no cumplen con la edición de criterios? por ejemplo.

// user allowed change
if($user_allowed_edit)
{
    echo '<input type="checkbox" name="my_check"> Check value';
}
else
{
    // Not allowed change - submit value..
    echo '<input type="hidden" name="my_check" value="1" />';
    // .. and show user the value being submitted
    echo ' Check value: 1';
}

241voto

Yanni Puntos 1043

usted puede usar esto:

<input type="checkbox" onclick="return false"/>

Esto funciona porque devolviendo false desde el evento onclick se detiene la cadena de continuar la ejecución.

155voto

powtac Puntos 18619

Esta es una casilla de verificación que no puede cambiar:

<input type="checkbox" disabled="disabled" checked="checked">

Acaba de agregar disabled="disabled" como un atributo.

46voto

Grant Wagner Puntos 14085
<input type="checkbox" onclick="this.checked=!this.checked;">

Pero es absolutamente necesario validar los datos en el servidor para asegurarse de que no se ha cambiado.

40voto

FlySwat Puntos 61945

Esto presenta un poco de un problema de usabilidad.

Si desea mostrar una casilla de verificación, pero no deja de ser interactuado con, por lo que incluso una casilla de verificación a continuación?

Sin embargo, mi enfoque sería el uso de discapacitados (El usuario espera una movilidad casilla de verificación para no ser editable, en lugar de usar JS para hacer un habilitado de no trabajo), y añadir un formulario de envío de controlador de el uso de javascript que permite a las casillas a la derecha antes de enviar el formulario. De esta manera usted consigue sus valores publicados.

es decir, algo como esto:

var form = document.getElementById('yourform');
form.onSubmit = function () 
{ 
    var formElems = document.getElementsByTagName('INPUT');
    for (var i = 0; i , formElems.length; i++)
    {  
       if (formElems[i].type == 'checkbox')
       { 
          formElems[i].disabled = false;
       }
    }
}

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X