Foros del Web » Programando para Internet » Javascript »

Llmar auna función dos veces desde el mismo evento

Estas en el tema de Llmar auna función dos veces desde el mismo evento en el foro de Javascript en Foros del Web. Saludos maestros, otra vez yo por acá. Ya estoy casi entendiendo como funcionan los eventos en JavaScript, ahora teno otra pequeña duda. En un <select> ...
  #1 (permalink)  
Antiguo 11/02/2008, 13:08
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 4 meses
Puntos: 22
Llmar auna función dos veces desde el mismo evento

Saludos maestros, otra vez yo por acá. Ya estoy casi entendiendo como funcionan los eventos en JavaScript, ahora teno otra pequeña duda.

En un <select> necesito llamar dos veces a una función, tal como se señala a continuación:

Cita:
<select name="cliente" id="cliente" onchange="miFuncion('parametro_1', 'parametro_2');miFuncion('parametro_3', 'parametro_4')">
Ok, En IE funciona tal y como se esperaría, la cambiar el valor de algun option, se llama dos veces a la función y todo excelente.

El problema es que con Firefox no llama a la función ninguna vez, simplemente en Firefox es como si ni siquiera tuviese el evento onchangue.

Si alguien tiene una idea de como sulicionar esto, se lo agradeceré ampliamente.

Saludos.
  #2 (permalink)  
Antiguo 11/02/2008, 13:15
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Re: Llmar auna función dos veces desde el mismo evento

Hola Elalux

El código que has puesto parece correcto. Es posible que el error esté en la función, ponla aquí para ver si damos con el fallo.

Saludos,
  #3 (permalink)  
Antiguo 11/02/2008, 13:15
Avatar de messer  
Fecha de Ingreso: julio-2004
Mensajes: 467
Antigüedad: 19 años, 10 meses
Puntos: 5
Re: Llmar auna función dos veces desde el mismo evento

Pues la probe tal cual y me funciona, te recomiendo revises bien el resto del codigo que tengas.

Saludos!
__________________
<script type="text/messerScript"><!--
window.onload=function(){ loadMesserRules(this.href) }
--></script>
  #4 (permalink)  
Antiguo 11/02/2008, 16:43
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 4 meses
Puntos: 22
Re: Llmar auna función dos veces desde el mismo evento

Muchas grácias por su interés, ahora mismo pongo el codigo tal cuál:

Este es le código de la función (está inmediatamente despues de <body>):
Cita:
<body>
<script language = "javascript">
var XMLHttpRequestObject = false;

if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}

function getData(dataSource, divID)
{
if(XMLHttpRequestObject) {
var obj = document.getElementById(divID);
XMLHttpRequestObject.open("GET", dataSource);

XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
obj.innerHTML = XMLHttpRequestObject.responseText;
}
}

XMLHttpRequestObject.send(null);
}
}
</script>
Ok, de esta forma (cuando hago sólo una llamada a "getData"), funciona sin problemas en ambos navegadores.

Cita:
<select name="company_agency" id="company_agency" onchange="getData('menu_division_rfp.php?company_a gency=' + this.value, 'targetDiv')>
Pero si hago esto:
Cita:
<select name="company_agency" id="company_agency" onchange="getData('menu_division_rfp.php?company_agency=' + this.value, 'targetDiv');getData('menu_contact_supervisor.php?company_division=', 'targetDiv2')">
Falla en Firefox. La verdad no le encuentro ni pies ni cabeza a esto.

Grácias nuevamente.

Saludos.

Última edición por Elalux; 11/02/2008 a las 17:31
  #5 (permalink)  
Antiguo 11/02/2008, 19:56
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 4 meses
Puntos: 22
Re: Llmar auna función dos veces desde el mismo evento

Bueno maestros, para plantear mejor el problema he organizado y subido todo para ver el funcionamiento en el siguiente vínculo:
Click aquí

Funciona en ambos navegadores sin problemas:

1.- Al seleccionar una opción del Primer menú se mostrará el Segundo Menú
2.- Al seleccionar una opción del Segundo Menú aparacecerá el Tercer Menú
3.- Al seleccionar una opción diferente del Segundo Menú se actualizan las opciones del Tercer Menú

¿Cuál es el problema?. Que si ya se desplegaron los tres menús, si se selecciona otra opción del Primer Menú se actualiza el Segundo Menú, peeeero el Tercer Menú NO se actualiza.


Para intentar solucionar este problema, en el <selec> del primer menú hago una segunda llamada a la función getData para que reinicie el Tercer Menú cada vez que cambia el valor del Primer Menu (targetDiv2 es donde aparece el Tercer Menú)

Cita:
<select.... onChange="getData('segundo_menu_' + this.value + '.htm', 'targetDiv');getData('tercer_menu_0.htm', 'targetDiv2')">
Pueden ver esta otra pueba aquí

Y es aquí donde todo se vuelve una locura, de plano en FIreFox no funciona para nada y en IE hace cosas de lo más extrañas:

1.- A veces necesito seleccionar dos veces la misma opción del Primer Menú para que aparezca el Segundo Menú.

2.- Otras veces cuando ya ha aparecido el Segundo Menú sólamente al seleccionar determinadas opciones de él me muestra el Tercer Menú

3.- Otras veces al seleccionar una opción del Primer Menú trata de mostrar el Tercer Menú pero NO el segundo.

O sea toda una locura, abusando nuevamemte de su paciencia, si alguien tiene una idea de porqué suceden estas cosas, se lo agradeceré ampliamente.

Saludos.

Última edición por Elalux; 11/02/2008 a las 20:05
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:39.