Foros del Web » Programando para Internet » PHP »

conservar datos al recargar un formulario

Estas en el tema de conservar datos al recargar un formulario en el foro de PHP en Foros del Web. Hola, quisiera saber como puedo conservar la opcion seleccionada en los campos radio, checkbox y select cada vez que se recarga la página del formulario ...
  #1 (permalink)  
Antiguo 27/06/2008, 06:47
 
Fecha de Ingreso: marzo-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
conservar datos al recargar un formulario

Hola, quisiera saber como puedo conservar la opcion seleccionada en los campos radio, checkbox y select cada vez que se recarga la página del formulario durante el proceso de validación.Para los campos de tipo texto me anda bien la sentencia value="<? echo $form->value("nombre del campo"); ?> pero no así en los siguientes campos:

<tr><td>Sex: <input type='radio' value=hombre checked name='sex' >Hombre <input type='radio' value="mujer" name='sex' >Mujer

<tr><td>Acepto los términos y condiciones <input type="checkbox" name="acepto" value ="1" />

Y tampoco me conserva la seleccion con el select con evento javascript :
<tr><td>Nacion:</td><td><select name="nuevo" value="<? echo $form->value("nuevo"); ?>" onchange="setCities(this)">
<option value="eliga" name="nuevo" selected>Eliga:</option>
<option value="africa">Africa</option>

Espero que alguien me pueda ayudar con ese tema. La idea es no tener que volver a seleccionar estos campos cuando uno se equivoca en el llenado de un formulario.Muchas gracias.
  #2 (permalink)  
Antiguo 27/06/2008, 09:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: conservar datos al recargar un formulario

como bien sabes.... para estos distintos elementos necesitas distintos atributos para seleccionar... o mas bien, para asignar un valor....

<select> necesita que algun <option> tenga el atributo selected
<radio|checkbox> necesita el atributo checked

bien, ya sabiendo esto como lo haríamos?

ejemplo de selección de checkbox/radio
Código PHP:
<?php
foreach ($values as $id => $value)
?>
  <input type="checkbox" <?php echo ($value === $form->value($id)? 'checked="checked"'''?> name="<?php echo $id?>">
<?php
}
?>
ejemplo de selección de select > option
Código PHP:
<?php
foreach ($values as $id => $value)
?>
  <option value="<?php echo $value?><?php echo ($value === $form->value('el_select')? 'selected="selected"'''?>>
<?php
}
?>
como puedes leer... usan un mismo comportamiento, que es muy simple de entender... bueno... así es mas o menos como se controla esto... suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 28/06/2008, 15:37
 
Fecha de Ingreso: marzo-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
Respuesta: conservar datos al recargar un formulario

Te agradezco la ayuda pero todavía no logro conservar las opciones select y radio al recargar el formulario durante la validación. Podrías incluir en mi código tu sugerencia?.Muchas gracias.

Para los campos de tipo texto me anda bien la sentencia value="<? echo $form->value("nombre del campo"); ?> pero no así en los siguientes campos:

<tr><td>Sex: <input type='radio' value=hombre checked name='sex' >Hombre <input type='radio' value="mujer" name='sex' >Mujer

<tr><td>Acepto los términos y condiciones <input type="checkbox" name="acepto" value ="1" />

Y tampoco me conserva la seleccion con el select con evento javascript :
<tr><td>Nacion:</td><td><select name="nuevo" value="<? echo $form->value("nuevo"); ?>" onchange="setCities(this)">
<option value="eliga" name="nuevo" selected>Eliga:</option>
<option value="africa">Africa</option>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:45.