Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/11/2006, 11:49
Avatar de temaqueja
temaqueja
 
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 22 años, 5 meses
Puntos: 4
select submit y obtener valor

Hola no soy muy bueno en javascript, por favor necesito ayuda:

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.

todo lo demas funciona, asi que el problema radica en como hago para obtener el valor seleccionado en el segundo select y como ago para que trabaje igual en ambos navegadores?


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> 
cuando se ejecuta
en firefox:: echo $_POST['provincia'] me devuelve 0
en ie:: echo $_POST['provincia'] me devuelve la posicion del elemento no su valor.
__________________
_________________________
La computadora nació para resolver problemas que antes no existían