Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Función que funciona en Chrome y no en IE y Firefox

Estas en el tema de Función que funciona en Chrome y no en IE y Firefox en el foro de Frameworks JS en Foros del Web. Hola a todos, tengo el siguiente detalle en mi aplicación. Tengo un checkbox el cual al marcarlo, mando llamar una función que ejecuta un código ...
  #1 (permalink)  
Antiguo 28/03/2011, 13:24
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta Función que funciona en Chrome y no en IE y Firefox

Hola a todos, tengo el siguiente detalle en mi aplicación. Tengo un checkbox el cual al marcarlo, mando llamar una función que ejecuta un código ajax para poner cierta info que meto en dos cajas de texto la cual enviaré para su proceso mediante un botón.

Lo que pasa es que en la última versión de Firefox, que acabo de descargar [Firefox 4], me despliega las cajas de texto que tengo, pero los datos que selecciono no me los toma en cuaenta cuando los envio; en IE8, que es en el que hago las pruebas, no me manda llamar la función mediante la cual llamo el archivo donde despliego las cajas de texto. La cosa es que en Chrome fuinciona a la perfección y puedo realizar las operaciones deseadas sin problema alguno.

Les comparto el código de las funciones para ver si me pueden apoyar:

Código Javascript:
Ver original
  1. <script language="javascript" type="text/javascript">
  2.     function nuevoAjax()
  3.     {
  4.         /* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
  5.         lo que se puede copiar tal como esta aqui */
  6.         var xmlhttp=false;
  7.         try
  8.         {
  9.             // Creacion del objeto AJAX para navegadores no IE
  10.             xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
  11.         }
  12.         catch(e)
  13.         {
  14.             try
  15.             {
  16.                 // Creacion del objet AJAX para IE
  17.                 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  18.             }
  19.             catch(E) { xmlhttp=false; }
  20.         }
  21.         if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); }
  22.    
  23.         return xmlhttp;
  24.     }
  25.  
  26.     function funcionPrub()
  27.     {
  28.         if (document.pre_for_1.frm.checked)
  29.         {
  30.             document.getElementById("resultPrub").style.display= 'block';
  31.             divResultPrub=document.getElementById('resultPrub');
  32.             ajax=nuevoAjax();
  33.             ajax.open("GET", "fechas.asp",true);
  34.  
  35.             ajax.onreadystatechange=function()
  36.             {
  37.                 if(ajax.readyState==4)
  38.                 {
  39.                     //tdResultPrub.innerHTML = "el check funciono de la segunda forma!";
  40.                     divResultPrub.innerHTML = ajax.responseText;
  41.                 }
  42.             }
  43.             ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  44.    
  45.             ajax.send(null)
  46.         }
  47.         else
  48.         {
  49.             document.getElementById("resultPrub").style.display= 'none';
  50.         }
  51.         //tdResultPrub=document.getElementById('resultPrub');
  52.     }
  53.     </script>

y de esta manera mando llamar a la función "funcionPrub()" :

Código HTML:
Ver original
  1. Hacer el respaldo por periodo.
  2. <input name="frm" type="checkbox" onchange="funcionPrub()" />
__________________
__________________________________________________ ___________________________________
Las cosas más reales sólo suceden en la imaginación... Sólo recordamos, lo que nunca sucedió.
  #2 (permalink)  
Antiguo 28/03/2011, 15:04
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 13 años, 9 meses
Puntos: 55
Respuesta: Función que funciona en Chrome y no en IE y Firefox

bueno en firefox existe un complemento muy bueno para programadores llamado firebug, con este puedes ver el funcionamiento de tu codigo y te muestra si hay errores en el mismo al llamarlo
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #3 (permalink)  
Antiguo 29/03/2011, 18:32
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta Respuesta: Función que funciona en Chrome y no en IE y Firefox

Pues ya verifiqué con el firebird, y me marca ¨activexobject is not defined¨ en esta línea
Código Javascript:
Ver original
  1. xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
, pero no he encontrado cómo resolverlo con Firefox 4, y menos con IE8, ya que ahí no me marca error, advertencia o algo parecido

¿propuestas?
__________________
__________________________________________________ ___________________________________
Las cosas más reales sólo suceden en la imaginación... Sólo recordamos, lo que nunca sucedió.
  #4 (permalink)  
Antiguo 31/03/2011, 21:09
 
Fecha de Ingreso: mayo-2009
Mensajes: 13
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Función que funciona en Chrome y no en IE y Firefox

prueba cambiar la funcion nuevoAjax por esta otra:

Código Javascript:
Ver original
  1. function nuevoAjax(){
  2.      if(window.XMLHttpRequest) return new XMLHttpRequest();
  3.      else if(window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
  4.      else return false;
  5. }
  #5 (permalink)  
Antiguo 31/03/2011, 23:32
 
Fecha de Ingreso: abril-2009
Mensajes: 83
Antigüedad: 15 años
Puntos: 2
Respuesta: Función que funciona en Chrome y no en IE y Firefox

usa jquery soporta todos los navegadores mas usados
  #6 (permalink)  
Antiguo 28/07/2011, 11:46
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Función que funciona en Chrome y no en IE y Firefox

He buscado la manera, pero pues no puedo encontrarle el error. Les anexo el código que uso:

Form con el que mando llamar los calendarios.
respaldar.asp
Código HTML:
Ver original
  1. <form name="pre_for_1" action="redireccion.asp" method="GET" >
  2.     <input name="frm" type="checkbox" onchange="funcionPrub()" /><font size="1"><strong>Hacer el respaldo por periodo.</strong></font>
  3.     <div id="resultPrub"></div>
  4.     <input type="submit" value="Respaldar">
  5. </form>

respaldar.asp
Código Javascript:
Ver original
  1. function funcionPrub()
  2. {
  3.     if (document.pre_for_1.frm.checked)
  4.     {
  5.         document.getElementById("resultPrub").style.display='block';
  6.         divResultPrub=document.getElementById('resultPrub');
  7.         ajax=nuevoAjax();
  8.         ajax.open("GET","fechas.asp",true);
  9.  
  10.         ajax.onreadystatechange=function()
  11.         {
  12.             if(ajax.readyState==4)
  13.             {
  14.                 divResultPrub.innerHTML = ajax.responseText;
  15.             }
  16.             else
  17.             divResultPrub.innerHTML = '<img src="ajax-loader.gif">';
  18.         }
  19.         ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  20.  
  21.         ajax.send(null)
  22.     }
  23.     else
  24.     {
  25.         document.getElementById("resultPrub").style.display= 'none';
  26.     }
  27. }

fechas.asp
Código HTML:
Ver original
  1. <form name="formulario" enctype="application/x-www-form-urlencoded">
  2.     <center>
  3.     Inicio:
  4.     <a href="javascript:NewCal('demo1','ddmmyyyy')"><img src="cal.gif" width="16" height="16" border="0" alt="Pick a date"></a>&nbsp;<input  type="text" value="" id="demo1" name="demo1" size="8" readonly="true"><br /><br />
  5.     Final:
  6.     <a href="javascript:NewCal('demo2','ddmmyyyy')"><img src="cal.gif" width="16" height="16" border="0" alt="Pick a date"></a>&nbsp;<input type="text" id="demo2" name="demo2" size="8" readonly="true" >
  7.     <input type="hidden" name="var1" value="<%=10%>" />
  8.     </center>
  9. </form>

y por último así mando llamar los datetimepicker desde la página principal respaldar.asp.
Código Javascript:
Ver original
  1. <script language="javascript" type="text/javascript" src="datetimepicker.js"></script>
  2.     <script language="javascript" type="text/javascript" src="datetimepicker1.js"></script>

Si alguien puede ver el error de porque en IE8 y apartir de Firefox 4 no me funciona, se los agradezco.
__________________
__________________________________________________ ___________________________________
Las cosas más reales sólo suceden en la imaginación... Sólo recordamos, lo que nunca sucedió.

Etiquetas: ajax, chrome, firefox
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 19:48.