Foros del Web » Programando para Internet » PHP »

POST: problema al enviar el valor de un combo

Estas en el tema de POST: problema al enviar el valor de un combo en el foro de PHP en Foros del Web. Hola, Estoy teniendo un problema con un formulario de modificación. El mismo cuenta con un combo (estoy trabajando con XHTML): Código HTML: <select name= "Id" ...
  #1 (permalink)  
Antiguo 03/12/2007, 07:37
Avatar de matiassaitam  
Fecha de Ingreso: diciembre-2007
Mensajes: 12
Antigüedad: 16 años, 5 meses
Puntos: 0
POST: problema al enviar el valor de un combo

Hola,

Estoy teniendo un problema con un formulario de modificación.
El mismo cuenta con un combo (estoy trabajando con XHTML):

Código HTML:
<select name="Id">
<option value="1">Lala</option>
<option value="7" selected="selected">Lele</option>
<option value="3">Lili</option>
</select> 
La opción "selected" se coloca automaticamente según el valor guardado en la base de datos. Eso funciona bien.

El problema surge en la actualización ... el formulario se manda por el método POST, pero cuando reviso el valor de $_POST["Id"] es siempre la opción que se cargó como "selected" por más que el usuario haya seleccionado otra.

¿Me explico?

Basicamente lo que quiero hacer es (recuerden que es un formulario de actualización) rellenar los campos del formulario, y en el caso del combo, seleccionar la opción que corresponda según el registro en la base de datos, pero permitir al usuario actualizar esos campos, es decir, si selecciona otra opción del combo, que se refleje en el update.

Les agradezco por su tiempo, estoy medio quemado porque no dormi, así que si ven frases poco coherentes, sepan disculparme. Ah... posibles errores ortográficos colocados aleatoriamente


Saludos.

Última edición por matiassaitam; 03/12/2007 a las 08:11
  #2 (permalink)  
Antiguo 03/12/2007, 07:55
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Re: POST: problema al enviar el valor de un combo

hola, primero bienvenido a FDW, para lo que creo que quieres hacer, lo solucionas con este codiguillo de javascript:
Código PHP:
<script type="text/javascript" language="javascript">
if (document.forms.length)
    nombreCampoElem = document.forms[document.forms.length - 1]['nombreCampo']
else
    nombreCampoElem = document.all ? document.all['nombreCampo'] : document.getElementById('nombreCampo');
    
if (nombreCampoElem) {
    nombreCampoElem.value = '<?php echo $row['id']; ?>';
    if (nombreCampoElem.selectedIndex == -1)
    nombreCampoElem.selectedIndex = 0;
}
</script>
la variable $row['id'], es la que quieres que se muestre en tu campo select.

saludos y suerte

PD: eso lo pones justo debajo de la etiqueta de cierre de tu select "</select>"
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #3 (permalink)  
Antiguo 03/12/2007, 09:48
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: POST: problema al enviar el valor de un combo

Código PHP:
$options = array(
  
=> 'Gato',
  
=> 'Perro',
  
=> 'Puma'
);

$selected_id = (isset($_POST['animal']) && isset($options[$_POST['animal']])) ? $_POST['animal'] : 2;

echo 
'<form method="post">';
echo 
'<select name="animal">';
foreach (
$options as $id => $nombre)
{
    echo 
'<option value="'.$id.'"'.($id == $selected_id ' selected="selected"' '').'>'.$nombre.'</option>';
}
echo 
'</select>';
echo 
'<br />';
echo 
'<input type="submit" />';
echo 
'</form>'
  #4 (permalink)  
Antiguo 03/12/2007, 11:27
Avatar de matiassaitam  
Fecha de Ingreso: diciembre-2007
Mensajes: 12
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: POST: problema al enviar el valor de un combo

Muchas gracias.
Ahora si funciona

Saludos.
  #5 (permalink)  
Antiguo 03/12/2007, 11:42
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Re: POST: problema al enviar el valor de un combo

Cita:
Iniciado por matiassaitam Ver Mensaje
Muchas gracias.
Ahora si funciona

Saludos.
perooooooo, con cual de las soluciones???
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
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 04:14.