Foros del Web » Programando para Internet » PHP »

Mantener valor del select al actualizar pagina...

Estas en el tema de Mantener valor del select al actualizar pagina... en el foro de PHP en Foros del Web. Hola gente !!! El problemita es simple, en un form de ingreso de clientes, tengo una validacion de varios campos, ingreso de datos boton guardar ...
  #1 (permalink)  
Antiguo 20/05/2009, 05:12
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Pregunta Mantener valor del select al actualizar pagina...

Hola gente !!!

El problemita es simple, en un form de ingreso de clientes, tengo una validacion de varios campos,
ingreso de datos
boton guardar
Si algun campo esta vacio, volver a ingresarlos y guardar de nuevo ...

para los inputs simples lo solucione con

Código php:
Ver original
  1. value="<?echo $_POST['valor']?>"

Pero con los campos selects, lo hice de la misma forma pero no funciona ...

Como se puede hacer ?

Saludos, Ricardo !!!!!
__________________
Mail: [email protected]
  #2 (permalink)  
Antiguo 20/05/2009, 05:38
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Mantener valor del select al actualizar pagina...

Hola,

Con los select tienes que hacerte una función, que escriba selected donde el valor del post sea igual del del option que estás comprabando...

Te pongo un ejemplo sencillo:
Código:
<select name="numeros">
<option value="1"><?=(($_POST['numeros']=="1")?"selected":"");?></option>
<option value="2"><?=(($_POST['numeros']=="2")?"selected":"");?></option>
<option value="3"><?=(($_POST['numeros']=="3")?"selected":"");?></option>
<option value="4"><?=(($_POST['numeros']=="4")?"selected":"");?></option>
...
</select>
Espero que te sirva.

Un saludo
  #3 (permalink)  
Antiguo 20/05/2009, 05:38
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Mantener valor del select al actualizar pagina...

Gracias por tu respuesta !!!!

Pero encontre algo mas simple y funciona correctamente !!!
Código php:
Ver original
  1. <body onLoad="document.form.lista_l.value='<?=$_POST['lista_l']?>'">

Saludos, Ricardo !!!
__________________
Mail: [email protected]
  #4 (permalink)  
Antiguo 20/05/2009, 05:47
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Mantener valor del select al actualizar pagina...

Cita:
Iniciado por colote Ver Mensaje
Gracias por tu respuesta !!!!

Pero encontre algo mas simple y funciona correctamente !!!
Código php:
Ver original
  1. <body onLoad="document.form.lista_l.value='<?=$_POST['lista_l']?>'">

Saludos, Ricardo !!!
Hola, lo que haces funciona, pero veo más ideneo un sistema como el que te pase y no limitarlo usando javascript.

Un saludo
  #5 (permalink)  
Antiguo 20/05/2009, 06:17
 
Fecha de Ingreso: diciembre-2006
Mensajes: 61
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: Mantener valor del select al actualizar pagina...

No es recomendable que uses javascript para este caso (pudiéndolo hacer con php), pues puede suceder que el cliente desactive javascript.
  #6 (permalink)  
Antiguo 20/05/2009, 06:43
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Mantener valor del select al actualizar pagina...

Buen punto !!!

Como haria eso para mi caso ???

Asi cargo la lista desplegable ...

Código html:
Ver original
  1. <dt>Codigo Postal:</dt>
  2.     <dd><select name="lista_l" id="lista_l" onChange="lista_loc(this)" onkeypress="return tabular(event,this)">
  3.     <option value="cod_postal">Select</option>
  4.     <?echo $varl?>
  5.     </select>


Código php:
Ver original
  1. ///////para selector Localidades en ALTA -clientes
  2. $varl="";
  3. $resuloc=mysql_query("select * from localidades order by cod_postal",$conexion);
  4. while ($row_loc=mysql_fetch_array($resuloc)){
  5.  
  6. if ($row_loc["cod_postal"]==$cli['codigo_postal'])// Aqui pones la Condicion del campo que quieres que se seleccione puede ser por nombre por id,posicion tu determinaras
  7. {
  8. $varl.= '<option value="'.$row_loc["cod_postal"].'"
  9. alt="'.$row_loc["nombre_loc"].'",
  10. alt1="'.$row_loc["cod_prov"].'",
  11. alt2="'.$row_loc["telediscado"].'" selected>'.$row_loc["cod_postal"].'</option>';
  12. }
  13. else
  14. $varl.= '<option value="'.$row_loc["cod_postal"].'"
  15. alt="'.$row_loc["nombre_loc"].'",
  16. alt1="'.$row_loc["cod_prov"].'",
  17. alt2="'.$row_loc["telediscado"].'">'.$row_loc["cod_postal"].'</option>';
  18. }

Saludos
__________________
Mail: [email protected]
  #7 (permalink)  
Antiguo 20/05/2009, 06:51
 
Fecha de Ingreso: diciembre-2006
Mensajes: 61
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: Mantener valor del select al actualizar pagina...

Puedes utilizar una funcion (es más sencillo):
Código PHP:
function sele($var,$val) {
    if(
$var==$val){
        return 
"selected";
    }

y llamarla así:
Código PHP:
print ("<option value='".$row[id]."' ".sele($_POST['Country'],$row[id]).">".$row[country].")</option>"); 
saludos
  #8 (permalink)  
Antiguo 20/05/2009, 06:54
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Mira como lo estoy usando segun el ejemplo anterior
Código html:
Ver original
  1. <select name="lista_l" id="lista_l" onChange="lista_loc(this)" onkeypress="return tabular(event,this)">
  2.     <option value="cod_postal"><?=(($_POST['lista_l']=="cod_postal")?"selected":"");?></option>
  3.     <?echo $varl?>
  4.     </select>

Asi me queda el select vacio ...

Hola, ahi le hice un par de modificaciones, y funciona !!!
Código php:
Ver original
  1. <select name="lista_l" id="lista_l" onChange="lista_loc(this)" onkeypress="return tabular(event,this)">
  2.     <option value="opt"><?=(($_POST['lista_l']=="$_POST[lista_l]")?"$_POST[lista_l]":"");?></option>
  3.     <?echo $varl?>
  4.     </select>

Saludos y Gracias !!!

tuve que hacer una modificacion, ya que si actualizaba 2 veces, tomaba el valor de option value="opt"

Entonces lo puse asi ...
Código php:
Ver original
  1. <select name="lista_l" id="lista_l" onChange="lista_loc(this)" onkeypress="return tabular(event,this)">
  2. <option value="<?echo $_POST['lista_l']?>">
  3. <?=(($_POST['lista_l']=="$_POST[lista_l]")?"$_POST[lista_l]":"");?></option>
  4.     <?echo $varl?>
  5.     </select>

Lo que no se como hacer es que cuando abra la pagina, en el select se vea la palabra Seleccione, porque asi como esta aparece en blanco !!!!!

En realidad lo que estoy haciendo con esta funcion, es asignarle a el 1º valor de la lista e valor de "lista_l" ...

Saludos, Ricardo !!!

Saludos !!!
__________________
Mail: [email protected]

Última edición por GatorV; 20/05/2009 a las 09:17
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 15:06.