Foros del Web » Programando para Internet » Javascript »

Ayuda para Capturar valor elegido en un Select

Estas en el tema de Ayuda para Capturar valor elegido en un Select en el foro de Javascript en Foros del Web. Hola a todos, me presento soy jessica, y espero me puedan ayudar como un signo de bienvenida,, jejeje.. y si yo puedo ayudar con gusto ...
  #1 (permalink)  
Antiguo 14/10/2010, 08:15
Avatar de PrincesaWeb  
Fecha de Ingreso: octubre-2010
Mensajes: 24
Antigüedad: 14 años, 1 mes
Puntos: 0
Exclamación Ayuda para Capturar valor elegido en un Select

Hola a todos, me presento soy jessica, y espero me puedan ayudar como un signo de bienvenida,, jejeje.. y si yo puedo ayudar con gusto tambien.

Bueno les cuento mi problema:

Tengo 2 select en un formulario(los select, no son dinamicos cada uno trabaja por su lado),tambien puede ser importante les comente que los select los lleno de una base de datos mysql.
resulta que deceo que cuando eliga el primer select, poder capturar ese id escogido y pasarselo a una consulta SQL, para llenar unos tex-box, con los datos asociados al id escogido, y asi mismo con el otro.

Bueno logre hacerlo solo con un select, pero para realizar lo que quiero refresca la pantalla y me hace perder los datos del otro select.

¿ALGUIEN SABE COMO HACERLO, O OTRA FORMA MAS FACIL?.

les pongo el codigo:

<select name="id_cliente" onChange="location.href='esta_misma_ pagina.php?id_cliente='+this.value; ">
<option value="" selected="selected">[Seleccione]</option>

/* AKA HAGO LA PETICION DE QUE LLENE EL SELECT */

<? $SQLQuery=mysql_query("select ID_CLIENTE,DE_NOMBRE from cliente order by DE_NOMBRE asc",$cn);

while ($Registro=mysql_fetch_array($SQLQuery))
{ ?>
<option value="<? echo $Registro['ID_CLIENTE']?>" <? if ($id_cliente==$Registro['ID_CLIENTE']) { echo 'selected'; } ?>>

<? echo htmlentities($Registro['DE_NOMBRE'])?></option>
<? } ?>
</select>


/* osea esto lo hace bien, el punto que en evento onchange refresca la pagina y ya pierdo los datos del otro select,, como lo hago......

Quedo atenta a ustedes,,,,, sorry soy novatilla en el mundo de la programacion
  #2 (permalink)  
Antiguo 14/10/2010, 13:39
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: Ayuda para Capturar valor elegido en un Select

tienes varias opciones:

1) anidar los selects en un form, y de esta forma enviar el form completo por POST u GET, y así tendrías los valores para volverlos a generar, en el caso del option seleccionado agregar selected="selected"

Código PHP:
Ver original
  1. <form name="formulario" method="GET" ><!-- el action por defecto es la misma pagina -->
  2.     <select name="id_cliente" onChange="document.forms['formulario'].submit();">
  3.         <option value="" >[Seleccione]</option>
  4.         <?php $SQLQuery=mysql_query("select ID_CLIENTE,DE_NOMBRE from cliente order by DE_NOMBRE asc",$cn);
  5.  
  6.         while ($Registro=mysql_fetch_array($SQLQuery))
  7.         { ?>
  8.         <option value="<?php echo $Registro['ID_CLIENTE'] ?>" <?php if ($_GET['id_cliente']==$Registro['ID_CLIENTE']) { echo 'selected="selected"'; } ?>>
  9.  
  10.         <?php echo htmlentities($Registro['DE_NOMBRE'])?></option>
  11.     <?php } ?>
  12.     </select>
  13. </form>

2) usar AJAX para enviar específicamente el valor de ese select sin recargar la página

PD: usa <?php en vesz de <?
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Última edición por maycolalvarez; 14/10/2010 a las 13:47
  #3 (permalink)  
Antiguo 15/10/2010, 06:30
Avatar de PrincesaWeb  
Fecha de Ingreso: octubre-2010
Mensajes: 24
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Ayuda para Capturar valor elegido en un Select

Muchas Gracias por responder, la verdad entiendo la idea, solo una duda antes de probarlo, como lo hago para dos select, ya que al enviar solo un id, y refrescar la pantalla, me borra el otro select elegido ??.

Sera de la misma forma del primero... ???.

Aunque mejor lo pruebo primero y te respondo...

Gracias.-
  #4 (permalink)  
Antiguo 15/10/2010, 07:15
Avatar de PrincesaWeb  
Fecha de Ingreso: octubre-2010
Mensajes: 24
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Ayuda para Capturar valor elegido en un Select

<form name="FormData" id="FormData" method="GET" >

<select name="id_obra" id="id_obra" align="middle" onChange="document.forms['FormData'].submit();">

<option value="" >[Seleccione]</option>

<?php $SQLQuery=mysql_query("select ID_OBRA,DE_NOMBRE from lk_lug_obra order by DE_NOMBRE asc",$cn);

while ($RegistroObra=mysql_fetch_array($SQLQuery))
{ ?>
<option value="<?php echo $RegistroObra['ID_OBRA'] ?>"
<?php if ($_GET['id_obra']==$RegistroObra['ID_OBRA']) { echo 'selected="selected"'; } ?>>
<?php echo htmlentities($RegistroObra['DE_NOMBRE'])?></option>

<?php } ?></select>
</form>

*** trata de refrescar efectivamente cuando selecciono el valor del select, pero me quedan los parametros del cliente todos arriba en la barra de direcciones de las paginas:

http://KG_arriendo_I0.php?id_cliente=&id_rut=&de_dv=&de_t elefono=&de_telefono_adicional=&de_direccion=&id_o bra=3&de_telefono=&id_orden_compra=&fecha_orden_co mpra=&mt_plazo

y lo mas raro es que me trae los parametros del cliente, y los estoy probando con el select de obra.. ¡Alguna idea de por que esta pasando eso...!
  #5 (permalink)  
Antiguo 15/10/2010, 07:17
 
Fecha de Ingreso: septiembre-2004
Ubicación: La Plata Argentina
Mensajes: 128
Antigüedad: 20 años, 2 meses
Puntos: 9
Respuesta: Ayuda para Capturar valor elegido en un Select

Hola Princesa.

Puedes mandar el formulario con los datos cargados hasta ese momento disparando el envio con el onselect y seteando los valores default (en el servidor, con PHP) con los datos cargados (para tu caso con el valor seleccionado en el primer select) o lo que se usa mas ahora, AJAX, actualizando solo sectores del formulario segun se disparen los eventos.

Saludos
  #6 (permalink)  
Antiguo 15/10/2010, 07:49
Avatar de PrincesaWeb  
Fecha de Ingreso: octubre-2010
Mensajes: 24
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Ayuda para Capturar valor elegido en un Select

Gracias por orientarme,, yyy les cuento: efectivamente funciona, tenia que recatar el id que me entregaba el select y consultar por los datos asociados a ese id, y desplegarlos.

No coloco el codigo por que es el mismo que amablemente concedio Maycolalvarez, solo hay que ajustarlo a las necesidades de cada uno.

muchas gracias Maycolalvarez
y sysmadryn

** Solo un detalle, a ver si podemos solucionar, al enviar los id me manda todos los parametros de cada uno de los select, en la barra de direcciones donde se coloca el http://,
la pregunta es ¿HAY ALGUNA FORMA DE ESCONDER LOS PARAMETROS PASADOS POR LA BARRA DE DIRECCIONES.?

Bueno si no se puede,, igual muchas gracias. logre lo que queria..... Vale !
Besos.
  #7 (permalink)  
Antiguo 15/10/2010, 13:44
 
Fecha de Ingreso: septiembre-2004
Ubicación: La Plata Argentina
Mensajes: 128
Antigüedad: 20 años, 2 meses
Puntos: 9
Respuesta: Ayuda para Capturar valor elegido en un Select

Debes usar el metodo POST en el form de la pagina web. Estas usando GET y eso hace que envie los valores de cada campo en la URL.

En PHP los rescatas los valores con $_POST en lugar de $_GET

Código HTML:
<form action="foo.php" method="post">
   Name:  <input type="text" name="username" /><br />
   Email: <input type="text" name="email" /><br />
   <input type="submit" name="submit" value="Submit me!" />
</form> 
y en el server :

Código PHP:
 echo $_POST['username']; 
o valido para los dos metodos y las variables de cookie

Código PHP:
echo $_REQUEST['username']; 

Cualquier duda, me avisas.
  #8 (permalink)  
Antiguo 16/10/2010, 21:54
Avatar de PrincesaWeb  
Fecha de Ingreso: octubre-2010
Mensajes: 24
Antigüedad: 14 años, 1 mes
Puntos: 0
Exclamación Respuesta: Ayuda para Capturar valor elegido en un Select

Cita:
Iniciado por sysmadryn Ver Mensaje
debes usar el metodo post en el form de la pagina web. Estas usando get y eso hace que envie los valores de cada campo en la url.

En php los rescatas los valores con $_post en lugar de $_get

Código HTML:
<form action="foo.php" method="post">
   name:  <input type="text" name="username" /><br />
   email: <input type="text" name="email" /><br />
   <input type="submit" name="submit" value="submit me!" />
</form> 
y en el server :

Código PHP:
 echo $_post['username']; 
o valido para los dos metodos y las variables de cookie

Código PHP:
echo $_request['username']; 

cualquier duda, me avisas.
HOLA de nuevo, buuu, luego de haber encontrado segun yo mi solucion vuelvo al principio, ya que obligatoriamente tienes que recargar la pagina en los select, y se me pierde el valor de un select, ademas supe que solo ajax, te deja manejar eventos sin recargar la pagina,, y ya me perdi toda ya que de ajax,, no manejo nada,, tal vez, me imagine que con javascript, hay algo mas para probar..... necesito orientacion pliss, ya que llevo 3 dias con el mismo problema.... gracias de ante mano...

Etiquetas: select
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 18:40.