formulario enviar checkbox establece el valor en “en” en lugar de “verdadero”

Hola, tengo un formulario html que estoy enviando a través del evento clic en un botón. El evento dispara $ (“# myform”). Submit (); el problema es que hay una checkbox en el formulario y en firebug bajo los parámetros publicados muestra “mycheckbox1 en” en lugar de la esperada “mycheckbox1 true”.

Al enviar un formulario a través de ajax, puedo configurar los datos que se publican sin ningún problema, pero este formulario tiene una carga de archivos que requiere uno de los varios hacks para que funcione. El que estoy usando en última instancia llama a enviar. Pero tal vez eso no sea relevante.

En cualquier caso, cuando los datos llegan al servidor, el servidor no ve el valor “on” como un bool y, por lo tanto, lo ignora.

Cualquier idea sería muy apreciada.

Una casilla marcada simplemente envía su atributo de value . Una checkbox desactivada no se envía en el formulario.

Por lo tanto, una prueba simple si el atributo de name la checkbox fue publicado puede determinar si fue marcada o no.

Sí, diferentes navegadores podrían manejar las casillas de verificación de manera diferente cuando el valor no está establecido.

Puede establecer el atributo de valor de la checkbox explícitamente en “verdadero”, ya que su servidor lo entiende cuando la checkbox está marcada y se envía. Como Alex insinuó en su respuesta, la checkbox no se enviará si no está marcada, por lo que supongo que el servidor fallará de forma predeterminada en este caso.

Intente seleccionar o enviar el valor checked con el formulario:

 $("input:checked").val() 

http://jsfiddle.net/YxZRS/

    Intereting Posts