Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: mikasuki en 06 de Noviembre 2013, 21:37

Título: Como dejar el checkbox marcado cuando refresco la pagina php? atributo checked
Publicado por: mikasuki en 06 de Noviembre 2013, 21:37
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>
Título: Re:Como puedo dejar el checkbox marcado cuando refresco la pagina?
Publicado por: mikasuki en 06 de Noviembre 2013, 21:38
Esto es PHP CI
Título: Re:Como puedo dejar el checkbox marcado cuando refresco la pagina?
Publicado por: Ogramar 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