Ver Mensaje Individual
  #4 (permalink)  
Antiguo 12/03/2013, 20:18
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 6 meses
Puntos: 1567
Respuesta: Pasar datos de un formulario a otro de un combobox

Cita:
Iniciado por dazbellboy Ver Mensaje
Hola emprear, tienes razón, es pasar un valor seleccionado del combobox a otro formulario, sin embargo lo que intento hacer es un poco mas simple que eso...
digamos que tengo un combobox en un formulario "X" y un cuadro de texto en un formulario "Y", si selecciono algo en el combobox y lo trato de imprimir en el cuadro de texto me va a salir algo que me dice: " ?options=Bogota " (por ejemplo). Para imprimir el dato limpio uso el codigo del split y el substr, para eliminar la parte que no quiero que sea impresa. Como son bastantes datos sucede que todo me funciona a la perfección, hasta ese punto...la información del combobox me la esta ignorando y me imprime el siguiente campo del formulario "X". No se la verdad si me estoy haciendo entender a demas que el formulario que tengo es bastante extenso.
Aun tengo dudas, ya de por si partamos de la base que ambos forms están en diferentes páginas (si no no estarias haciendo get)

form x en página a

<form action="paginab.html">
<input type="nombre" name="nombre" value="juan">
<select name="color">
<option value="rojo">rojo</option>
<option value="azul">azul</option>
</select>
<input type="submit">
</form>
supongamos que juan eligió azul
cuando hagas el submit, pagina b va a recibir
paginab.html?nombre=juan&color=azul

hasta ahi no hay mucho secreto, lo que está en name y valor contruyen los parámetros de la query (tu location.search), no hay diferencia entre un input text y un select, ahora teresta que el javascript en la página b coloque cada valor en el value del campo correspondiente

Para analizar lo que recibís por get, te dejo una función


Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript">
  7. //<![CDATA[
  8. /* Recibir variables */
  9. /* Esta función transforma en variables cualquier parámetro pasado por get /*
  10. /* Una vez llamada al inicio de la página puede recuperar el valor simplemente usando document.write(nombre_del_parametro) */
  11.  
  12. /* Recibir las variables pasadas por get */
  13. function RecibirVariablesJs(qs){
  14. var s="";for(var i=0;i<qs.length;i++){if(qs.substring(i,i+1)=="+"){s=s+" ";}else{s=s+qs.substring(i,i+1);
  15. }}return s;}var c=eval('"'+document.location+'"');var n,m,o;var variable;var valor;n=c.indexOf("?");
  16. if(n==-1){}else{while(n<c.length){m=c.indexOf("=",n);variable=c.substring(n+1,m);o=c.indexOf("&",m);if(o==-1){o=c.length;}
  17. valor=unescape(RecibirVariablesJs(c.substring(m+1,o)));eval ("var "+variable+"='"+valor+"';");n=o;}}
  18.  
  19.  
  20. //demo recibir_variables.html?nombre=juan&apellido=gonzales
  21. alert(nombre);
  22. alert(apellido);
  23.  
  24. window.onload = function(){
  25. document.forms[0].nombre.value = nombre;
  26. document.forms[0].apellido.value = apellido;
  27. }
  28. //]]>
  29. </head>
  30. <form action="#">
  31. nombre<input type="text" name="nombre" /><br />
  32. apellido<input type="text" name="apellido" />
  33. </form>
  34. </body>
  35. </html>
no confundas nombre y apellido como identificadores de los campos del form con los nombres de las variables (podés usar otros nombres para no liarte)

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.