Necesito ayuda con formulario

Yaazkal
02 de Abril del 2004
Qusiera saber como puedo hacer que un menú desplegable, me tome valores y me pueda "cambiar otro".

Me explico, en algunas paginas he encntrado que le piden a uno seleccionar el país, depende de el país, un menu desplegable cambia y le muestra a uno las provincias para que uno escoja igualmente de cual provincia es....

Lo que quiero saber es como hacer esto para poder ponerlo en mi pagina web (obviamente no con las provincias, sino con lo que necesito).

Cualquier información me sería útil

mi mail: [email protected]

scriptman
02 de Abril del 2004
hola que tal, hay dos formas de hacer ésto;

-Una, en la que todos los datos (por ejemplo todos los selects "menus desplegables" de las provincias de todos los paises) estan en la pagina, y solo se ocultan/muestran segun la seleccion principal.

-Otra, donde hay tantos datos que resultaria poco practico cargarlos todos (por ejemplo en las paginas donde concideran cientos de paises cada uno con decenas de provincias); en tal caso se recomienda usar un lenguaje del lado del servidor y cargar solo la lista correspondiente a la seleccion principal; es decir, se recarga la pagina al cambiar la seleccion con la informacion nueva.

Como muy probablemente te sirva la primera opcion, hize una pagina de ejemplo:


<html>
<head>
<script>

ie = (document.all)? true:false
ns4=((navigator.appName == 'Netscape') && (parseInt(navigator.appVersion) == 4)) ?true:false;

function show(id) {
if (ns4) document.layers[id].visibility = "show"
else if (ie) eval(id+'.style.visibility = "visible"')
else document.getElementById(id).style.visibility="visible";
}
function hide(id) {
if (ns4) document.layers[id].visibility = "hide"
else if (ie) eval(id+'.style.visibility = "hidden"')
else document.getElementById(id).style.visibility="hidden";
}


var provActual=0;
function muestraProv(id){
//si hay un select mostrado, que lo oculte
if(provActual) hide(provActual);

if(id!=""){ //si es un pais/select...
//muestra el select correspondiente:
show(id); provActual=id;
} else provActual=0;
}

</script>
<style>
.pais {position:absolute;top:80px;left:20px;visibility:hidden;}
</style>
<title>ejemplo multiSelects por Scriptman.</title>
</head>
<body>
<select id="miSelect" onchange="muestraProv(this.value)">
<option value="">Seleccione su pais--
<option value="arge">Argentina
<option value="chi">Chile
<option value="mex">Mexico
<option value="usa">United States
<option value="otro">Otro...
</select>

<select id="arge" class="pais">
<option value="bla">Argentina Provincia 1
<option value="ble">Otra Provincia
<option value="loqsea">y otra..
</select>

<select id="chi" class="pais">
<option value="bla">Chile Provincia 1
<option value="ble">Otra Provincia
<option value="bli">Bla
</select>

<select id="mex" class="pais">
<option value="bla">Mexico Provincia 1
<option value="ble">Otra Provincia
<option value="ble">una mas
</select>

<select id="usa" class="pais">
<option value="bla">USA Province 1
<option value="ble">Other Province
</select>

<input type="text" id="otro" value="Escriba su pais..." size="20" class="pais">

Notese el posisionamiento absoluto de los paises, y la posibilidad de usar inputs no solo selects.
</body>
</html>

Cambialo para que se ajuste a tus necesidades.

Saludos, Scriptman.
.::Feliz Año nuevo::.

Alexis
02 de Abril del 2004
El script funciona de pinga en html pero, cuando trabajo con php+mysql alli tengo el problema, ¿Cómo paso la variable selecionada al segundo select para q me saque los estados o provincias del pais q selecione?

angelus
02 de Abril del 2004
Esto funciona perfectamente, aunque si lo metemos dentro de un formulario, ya no funciona.. ¿Alguna solución?
Saludos