Foros del Web » Programando para Internet » PHP »

valor del <option value> se pierde al actualizar

Estas en el tema de valor del <option value> se pierde al actualizar en el foro de PHP en Foros del Web. Hola Foreros, espero me puedan ayudar con este problemita Pero antes les comento que tenia un problema que ya solucione, pero aparecio este nuevo con ...
  #1 (permalink)  
Antiguo 18/03/2009, 11:36
Avatar de Enishy  
Fecha de Ingreso: septiembre-2007
Mensajes: 121
Antigüedad: 17 años, 2 meses
Puntos: 1
valor del <option value> se pierde al actualizar

Hola Foreros, espero me puedan ayudar con este problemita

Pero antes les comento que tenia un problema que ya solucione, pero aparecio este nuevo con respecto a mis <option value>

El problema anterior era: llenaba un formulario, pasaba a otro form para hacer un proceso, al regresar a mi 1er formulario lo que habia llenado ya no estaba lo que molestaba pues eran muchos datos para llenar... se soluciono gracias a las sugerencia de este foro.... usa Sesiones me dijeron y asi fue logre que no se pierdan los valores que ponia en ese formulario.

Ahora el problema en ese 1er formulario tengo varios imputs, textarea y <option value>... con los dos primeros no tengo problema pues capturo todos los imput y textarea en variables de sesion.... con respecto amis <option value> hago una seleccion o mejor dicho escojo un valor de los que me muestra mi <option value> y al retornar me fijo que no aparece la opcion que tome por ejemplo:

<option value> muestra una lista A,B,C,D y si se escoje C al retornar no aparece la opcion que escoji que fue C.
  #2 (permalink)  
Antiguo 18/03/2009, 11:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: valor del <option value> se pierde al actualizar

Hola Enishy,

Para pre-establecer el valor de un option, tienes que ponerle el atributo de "selected" a la opcion:
Código html:
Ver original
  1. <option value="foo" selected="selected">bar</option>

Saludos.
  #3 (permalink)  
Antiguo 18/03/2009, 11:54
Avatar de Enishy  
Fecha de Ingreso: septiembre-2007
Mensajes: 121
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: valor del <option value> se pierde al actualizar

Hola GatorV gracias por contestar tan rapido ^_^....pero ya intente eso y como mi <opcion value> es dinamico y al ponerle selected puedo ver que me selecciona siempre el ultimo...

creo que poner el codigo de mi <opcion value> esta demas creo... se me hace dificil pues como es dinamico nose de que manera hacer para capturar ese valor que el usuario escogio sin que se pierda al retornar
  #4 (permalink)  
Antiguo 18/03/2009, 11:54
 
Fecha de Ingreso: mayo-2005
Mensajes: 45
Antigüedad: 19 años, 5 meses
Puntos: 1
Respuesta: valor del <option value> se pierde al actualizar

Como te dice GatorV tienes que añadir a la opción selected="selected" debes hacerlo en cada option comprobando el contenido de la variable en $_SESSION.
Aunque sea dinamico, puedes poner un if (en la funcion que lo genere) para que si la variable de session tiene el mismo valor se añada un selected.
  #5 (permalink)  
Antiguo 18/03/2009, 13:41
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: valor del <option value> se pierde al actualizar

si pones tu codigo que genera tu select dinamico te podremos ayudar mejor..
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #6 (permalink)  
Antiguo 18/03/2009, 14:25
Avatar de Enishy  
Fecha de Ingreso: septiembre-2007
Mensajes: 121
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: valor del <option value> se pierde al actualizar

Código llenacombo:
Ver original
  1. //combo forma
  2. $sql_for="select * from forma_adobe";
  3. $query_for=mysql_query($sql_for,$DB) or die("No se puede listar las forma de adobes");
  4. $reg_for=mysql_num_rows($query_for);


Código muestracombo:
Ver original
  1. <tr>
  2. <td><select name="forma">
  3. <?php
  4. for($i=0;$i<$reg_for;$i++){
  5. $id_for=mysql_result($query_for,$i,0);
  6. $for=mysql_result($query_for,$i,1);
  7. ?>
  8. <option value="<? echo $id_for ?>"><? echo $for?></option>
  9. <?php } ?>
  10. </select>
  11. </td>
  12. </tr>
  #7 (permalink)  
Antiguo 18/03/2009, 14:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: valor del <option value> se pierde al actualizar

Ahi compara:
Código php:
Ver original
  1. <tr>
  2.  
  3. <td><select name="forma">
  4.  
  5. <?php
  6.  
  7. for($i=0;$i<$reg_for;$i++){
  8.  
  9. $id_for=mysql_result($query_for,$i,0);
  10.  
  11. $for=mysql_result($query_for,$i,1);
  12.  
  13. if($valor_preseleccionado == $id_for) {
  14. ?>
  15.  
  16. <option value="<? echo $id_for ?>" selected="selected"><? echo $for?></option>
  17.  
  18. <?php } else { ?>
  19.  
  20. <option value="<? echo $id_for ?>"><? echo $for?></option>
  21.  
  22. <?php } ?>
  23. </select>
  24.  
  25. </td>
  26.  
  27. </tr>

Saludos.
  #8 (permalink)  
Antiguo 18/03/2009, 14:47
Avatar de Enishy  
Fecha de Ingreso: septiembre-2007
Mensajes: 121
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: valor del <option value> se pierde al actualizar

Excelente GatorV como ya tengo capturada el valor de <option value forma> por POST en una variable de sesion y al compararla con $id_for obtuve la solucion ....muchas gracias señores del foro por su ayuda y por contestar tan rapido

Por cierto alli le falta cerrar una llave para que funcione
  #9 (permalink)  
Antiguo 18/03/2009, 16:03
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 10 meses
Puntos: 36
Respuesta: valor del <option value> se pierde al actualizar

Reduciendo un poco el código:


Código PHP:
for($i=0;$i<$reg_for;$i++){ 

$id_for=mysql_result($query_for,$i,0); 

$for=mysql_result($query_for,$i,1); 


echo 
'<option value="{$id_for}"';

if(
$valor_preseleccionado == $id_for)
echo 
'selected="selected"';

echo 
">$for</option>";



__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
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 08:31.