Hola El problema con Zend_Form_Element_Checkbox es que cuando se renderiza crea un campo de entrada oculto con el mismo nombre que la casilla de verificación real. Así que veamos el código:Zend framework Casilla de verificación problema
Éste es cómo crear el elemento interior formulario:
$onlineCheckbox = $this->createElement('checkbox', 'online_checkbox', array(
'label'=>'Online:',
'uncheckedValue'=> '0',
'checkedValue' => '1'
));
Y esta es la salida HTML se parece a:
<input type="hidden" name="online_checkbox" value="0" /><input type="checkbox" name="online_checkbox" id="online_checkbox" value="1" />
Ahora el problema es que en el otro navegadores y luego Firefox obtengo los resultados necesarios por correo (si está desactivado '0', si marcado '1') pero en Firefox para ambos casos obtengo '0', sé que esto se debe a ese campo oculto. Busqué en Google y parece que este problema no está resuelto. Así que mi pregunta es cómo otros pueden manejar esto, o puede haber una solución para que esto funcione en Firefox. Cualquier ayuda será apreciada. Gracias de antemano.
EDITAR: Gracias a @Marcin: creo que el problema está en mis decoradores. En Firebug obtengo una salida desordenada, creo que si los arreglaré correctamente, funcionará, una vez más gracias a @Marcin por señalar!
@Centurion. ¿podría proporcionar más detalles, ya que acabo de comprobar su fragmento y parece funcionar en Firefox (obtengo, si no se selecciona '0', si marcado '1'). – Marcin
@Marcin, cuando lo pruebo con html simple, funciona, pero cuando lo genero con zend, no lo es. Has probado con un zend? – Centurion
@Centurion. Añadí tu $ onlineCheckbox a uno de mis Zend_Forms, y después del envío usé $ mainForm-> getValue ('online_checkbox'); para obtener el valor de la casilla de verificación. Se comporta como se esperaba. – Marcin