Cita:
Iniciado por dazbellboy 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<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript"> //<![CDATA[
/* Recibir variables */
/* Esta función transforma en variables cualquier parámetro pasado por get /*
/* Una vez llamada al inicio de la página puede recuperar el valor simplemente usando document.write(nombre_del_parametro) */
/* Recibir las variables pasadas por get */
function RecibirVariablesJs(qs){
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);
}}return s;}var c=eval('"'+document.location+'"');var n,m,o;var variable;var valor;n=c.indexOf("?");
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;}
valor=unescape(RecibirVariablesJs(c.substring(m+1,o)));eval ("var "+variable+"='"+valor+"';");n=o;}}
//demo recibir_variables.html?nombre=juan&apellido=gonzales
alert(nombre);
alert(apellido);
window.onload = function(){
document.forms[0].nombre.value = nombre;
document.forms[0].apellido.value = apellido;
}
//]]>
nombre
<input type="text" name="nombre" /><br />apellido
<input type="text" name="apellido" />
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