Foros del Web » Programando para Internet » PHP »

Mantener valor de un comboBox después del POST

Estas en el tema de Mantener valor de un comboBox después del POST en el foro de PHP en Foros del Web. Hola a todos, como indico en el título, me gustaría mantener el valor introducido en un ComboBox, después de realizar POST en un formulario. Tengo ...
  #1 (permalink)  
Antiguo 21/05/2010, 00:53
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 18 años, 4 meses
Puntos: 1
Mantener valor de un comboBox después del POST

Hola a todos,

como indico en el título, me gustaría mantener el valor introducido en un ComboBox, después de realizar POST en un formulario.

Tengo este código:

$var_pais = $_POST[‘Pais’];

<td class="Formulario">
<?

echo "<select style='height:19px;font-size:11px;font-family:Arial;' name='Pais' id='pais'>";
$paises = file('paises.txt');
$cuenta = count($paises);

for($i=0; $i < $cuenta; $i++){
echo "<option value='$paises[$i]'> $paises[$i] </option>";
}

?>
</td>


¿Dónde debo introducir el value=”<? Echo $var_pais’ ?>”>?

En el combo utilizo un fichero txt que contiene todos los paises. Así los muestro todos para que el usuario pueda seleccionar uno. Pero, una vez seleccionado uno y realizado el POST, me gustaría que mantuviera ese valor elegido para que, en caso de error, no tuviera que tener que volver a seleccionarlo.
Utilizo la variable $var_pais para recoger el valor del POST pero no sé dónde ni como escribir el value para que mantenga ese valor.

¿Alguien puede, por favor, decirme como sería el código?

Un saludo.
  #2 (permalink)  
Antiguo 21/05/2010, 01:05
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 3 meses
Puntos: 36
Respuesta: Mantener valor de un comboBox después del POST

Cita:
Iniciado por Tarzan Ver Mensaje
¿Dónde debo introducir el value=”<? Echo $var_pais’ ?>”>?
En ningún lado.

Para colocar una opción (etiqueta option) seleccionada por default tiene que agregársele el atributo "selected"
http://www.w3schools.com/tags/att_option_selected.asp
http://www.htmlquick.com/es/referenc...#tagattributes

Entonces, en tu bucle tienes que hacer una comparación del valor a imprimir contra el que debería ser seleccionado e imprimir el atributo en el lugar indicado.

Deberías tener claro esto es asunto de HTML, no de PHP, y habrá muchos ejemplos si sabes como buscar.

Si tienes problemas, menciónalos.
__________________
I ♥ The Music!
  #3 (permalink)  
Antiguo 21/05/2010, 01:43
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: Mantener valor de un comboBox después del POST

Jo Maturano, es que no me aclaro mucho.

he estado mirando código en html como me dijiste pero no lo sé adaptar al for que yo tengo para mostrar los páises.

¿Se supone que debería introducir la opción almacenada en $var_pais, (a su vez recogida del POST si se ha realizado el POST o vacía si no se ha realizado), dentro del for?

¿Podrías, por favor, escribirme un ejemplo sobre mi código?
Es que no lo veo claro.

Graicas por responder tan rápido.

Un saludo.
  #4 (permalink)  
Antiguo 21/05/2010, 13:04
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 3 meses
Puntos: 36
Respuesta: Mantener valor de un comboBox después del POST

... ok. Primero, ¿quedó claro cuál es el HTML que necesitas generar?. Recuerda que PHP solo genera HTML de manera dinámica; debes saber qué HTML necesitas generar. Solo se necesita agregar el atributo selected a la opción indicada.

¿Cómo?. Tienes un for que va a imprimir todos las opciones. Dentro de ese bucle, para cada opción, tienes que ver si es la seleccionada; si lo es, imprimir lo que corresponde. Realmente simple.

Código PHP:
Ver original
  1. $seleccion = 7;
  2. for ($i = 1; $i < 10; $i++) {
  3.     echo $i;
  4.     if ($i === $seleccion) {
  5.         echo " es el número seleccionado ...";
  6.     }
  7.     echo "\n";
  8. }
__________________
I ♥ The Music!
  #5 (permalink)  
Antiguo 21/05/2010, 13:11
 
Fecha de Ingreso: septiembre-2008
Mensajes: 136
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Mantener valor de un comboBox después del POST

O asi:

Código PHP:
<?
for($i=0$i $cuenta$i++)
{
?>
 <option value="<? echo $paises[$i]; ?>"<? if('$paises[$i]'==$PAIS) echo " selected" ?>
        <? echo $paises[$i]; ?></option>

<? 
}
?>
  #6 (permalink)  
Antiguo 24/05/2010, 04:28
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: Mantener valor de un comboBox después del POST

Muchísimas gracias!!

Funciona perfectamente!!

Etiquetas: combobox, mantener, post
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:10.