tengo un select que automaticamente rellena otro (basado en la FAQ de javascript), al segundo select le agregue onchange="submit();" porque mi intencion es que recargue la pagina para que un script en php tome la opcion elegida y rellene un tercer select desde la base de datos.
el problema:
en firefox el submit(); pasa siempre valor 0 elija lo que se elija.
en ie el submit(); pasa la posicion del elemento seleccionado no su valor.
![ojotes](http://static.forosdelweb.com/fdwtheme/images/smilies/ojotes.png)
Código HTML:
<script type="text/javascript"> <!-- //defino una serie de varibles Array para cada departamento var provincias_07=new Array("---Seleccione-","02ACOMAYO","03ANTA","04CALCA","05CANAS","06CANCHIS","07CHUMBIVILCAS","01CUSCO","08ESPINAR","09LA CONVENCION","10PARURO","11PAUCARTAMBO","12QUISPICANCHI","13URUBAMBA") ....... mas de lo mismo var provincias_25=new Array("---Seleccione-","03ATALAYA","01CORONEL PORTILLO","02PADRE ABAD","04PURUS") //función que cambia las provincias del select de provincias en función del dpto que se haya escogido function cambia_provincia(){ //tomo el valor del select del dpto elegido var departamento departamento = document.frm2.departamento[document.frm2.departamento.selectedIndex].value //miro a ver si el depar está definido if (departamento != 0) { //si estaba definido, entonces coloco las opciones de la provincia correspondiente. //selecciono el array de provincia adecuado mis_provincias=eval("provincias_" + departamento) //calculo el numero de provincias num_provincias = mis_provincias.length //marco el número de provincias en el select document.frm2.provincia.length = num_provincias //para cada provincia del array, la introduzco en el select for(i=0;i<num_provincias;i++){ document.frm2.provincia.options[i].value=mis_provincias[i].substring(0,1) document.frm2.provincia.options[i].text=mis_provincias[i].substring(2) } }else{ //si no había provincia seleccionada, elimino las provincias del select document.frm2.provincia.length = 1 //coloco un guión en la única opción que he dejado document.frm2.provincia.options[0].value = "-" document.frm2.provincia.options[0].text = "-" } //marco como seleccionada la opción primera de provincia document.frm2.provincia.options[0].selected = true } // --> </script> ..... <form action="form.php" method="post" name="frm2" id="frm2"> ...... <select id="departamento" name="departamento" onChange="cambia_provincia()"><option value="0" selected>--Seleccione--</option><option value="01">AMAZONAS</option><option value="02">ANCASH</option><option value="03">APURIMAC</option><option value="04">AREQUIPA</option><option value="05">AYACUCHO</option><option value="06">CAJAMARCA</option><option value="24">CALLAO</option><option value="07">CUSCO</option><option value="08">HUANCAVELICA</option><option value="09">HUANUCO</option><option value="10">ICA</option><option value="11">JUNIN</option><option value="12">LA LIBERTAD</option><option value="13">LAMBAYEQUE</option><option value="14">LIMA</option><option value="15">LORETO</option><option value="16">MADRE DE DIOS</option><option value="17">MOQUEGUA</option><option value="18">PASCO</option><option value="19">PIURA</option><option value="20">PUNO</option><option value="21">SAN MARTIN</option><option value="22">TACNA</option><option value="23">TUMBES</option><option value="25">UCAYALI</option></select></td> <td width="25%">Provincia<br> <select name="provincia" id="provincia" onChange="submit();"></select> .......... </form>
en firefox:: echo $_POST['provincia'] me devuelve 0
en ie:: echo $_POST['provincia'] me devuelve la posicion del elemento no su valor.