Autor Tema: Como dejar el checkbox marcado cuando refresco la pagina php? atributo checked  (Leído 8810 veces)

mikasuki

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Este es mi view:


<?php
                                       
     echo form_open('evals/proc_group');

     echo form_checkbox('edu_level[]','1', in_array('1', $educational_levels)); echo        form_label ('Infantes', 'infant',  array ('class' => 'checkbox_label'));

     echo form_checkbox('edu_level[]','2', in_array('2', $educational_levels)); echo form_label ('Maternales', 'mater',  array ('class' => 'checkbox_label'));

     echo form_checkbox('edu_level[]','3', in_array('3', $educational_levels)); echo form_label ('Preescolares', 'prees',  array ('class' => 'checkbox_label'));

     echo form_checkbox('edu_level[]','4', in_array('4', $educational_levels)); echo form_label ('Kindergarten', 'kinder',  array ('class' => 'checkbox_label'));
                                 ?>

   <input type="hidden" name="eval_id" value="<?php echo $evaluation->id ?>" />
                                               
               <div class="clear"></div>
                                           
   <?php echo form_submit('mysubmit','Guardar Grupo'); ?>
                              <?php echo form_close(); ?>
                                           
                         <div class="clear"></div>
« Última modificación: 15 de Septiembre 2014, 14:33 por Alex Rodríguez »

mikasuki

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Re:Como puedo dejar el checkbox marcado cuando refresco la pagina?
« Respuesta #1 en: 06 de Noviembre 2013, 21:38 »
Esto es PHP CI

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2646
    • Ver Perfil
Re:Como puedo dejar el checkbox marcado cuando refresco la pagina?
« Respuesta #2 en: 06 de Noviembre 2013, 23:28 »
Hay un atributo denominado checked, ejemplo:

<input name="cbilibros" type="checkbox" checked="checked" />Libros

Cuando el usuario elige un elemento de un checkbox se recibe el atributo = on, por ejemplo http: //ww w.aprenderaprogramar.com/action.php?cbipeliculas=on&cbilibros=on

Si quieres que al refrescar la página te detecte qué atributos están marcados y los mantenga marcados necesitarás crear un condicional:

Supongamos que estás recibiendo los datos por GET, aunque con el código que has puesto no sé si es por POST o por GET, tendrías que crear algo así:

$nombre = $_GET['nombre'];
if ($nombre = "on") {
marcar el atributo checked="checked"
}
else { No se marca el atributo }

Si quieres mantener la lógica de la aplicación puedes hacerlo a través de una función.

En resumen, se trataría de lo siguiente:

1) Comprobar si se recibe información (por POST o por GET)
2) Comprobar si la información es relativa a que una casilla del checkbox viene marcada
3) Si viene marcada estableces el atributo checked y si no viene marcada lo dejas en blanco, para ello tienes que usar condicionales

Saludos



 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".