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

AJAX No Funciona Con El FIREFOX Que Recomienda GOOGLE,,,

Estas en el tema de AJAX No Funciona Con El FIREFOX Que Recomienda GOOGLE,,, en el foro de Frameworks JS en Foros del Web. En anuncios google recomeindan instalar Firefox... bueno yo lo inslale y mi web que tiene ajax no funciona para nada.. me sale error.. no reconce ...
  #1 (permalink)  
Antiguo 19/12/2005, 21:43
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
Exclamación AJAX No Funciona Con El FIREFOX Que Recomienda GOOGLE,,,

En anuncios google recomeindan instalar Firefox... bueno yo lo inslale y mi web que tiene ajax no funciona para nada.. me sale error.. no reconce esto:

valor=document.getElementById("nombre").value;

creo que es por eso.. pero aqui les paso mi codigo para crear el objeto.

Cita:
function AJAX(){
var ajaxs = ["Msxml2.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2.XMLH TTP.5.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"];
var ajax = false;
for(var i=0 ; !ajax && i<ajaxs.length ; i++){
try{ ajax = new ActiveXObject(ajaxs[i]); }
catch(e) { ajax = false; }
}
if(!ajax && typeof XMLHttpRequest!='undefined') {
ajax = new XMLHttpRequest();
}
return ajax;
}
pero en el firefox que tenia antes sin me funcionaba normal....
  #2 (permalink)  
Antiguo 20/12/2005, 01:25
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
¿qué error te da?
  #3 (permalink)  
Antiguo 20/12/2005, 09:00
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
no reconoce document.getElementById("nombre").value;

basicamente getElementById
  #4 (permalink)  
Antiguo 20/12/2005, 09:57
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
es que el getEelementByID es solamente del IE, hay muchos scripts ajax que no son muy buenos que digamos...Yo siempre tube una función para escribir los Layers que era

Código:
function writeLayer(layerID,txt){
        if(document.getElementById){
                document.getElementById(layerID).innerHTML=txt;
        }else if(document.all){
                document.all[layerID].innerHTML=txt;
        }else if(document.layers){
                with(document.layers[layerID].document){
                        open();
                        write(txt);
                        close();
                }
        }
}
Fijate que tiene 3 formas distintas de escribir el Layer dependiendo de si existen los métodos (en algunos lavegadores existen y en otros no...)

Espero que te sirva
Saludos
__________________
Esteban Quintana
  #5 (permalink)  
Antiguo 20/12/2005, 10:18
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Cita:
Iniciado por richardinj
no reconoce document.getElementById("nombre").value;

basicamente getElementById
Pero qué error específico te da.
Cita:
Iniciado por monoswim
es que el getEelementByID es solamente del IE
monoswim de dónde sacas eso, no hombre el getElementById es un método del DOM


richardinj, dime qué te dice FF en la consola js a ver si sacamos por dónde te peta el script
  #6 (permalink)  
Antiguo 20/12/2005, 10:23
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Hola Tuna Eso lo saqué de un libro de HTML que tengo bastante viejito que décía que para usar JS y Layers el método GetElementByID no era totalmente universal y por eso mostraba la función que puse más arriba...

Pero ahora que vos me decís lo contrario, pues no se...

Ustedes son los capos en JS, yo me dedico a PERL

Saludos
PD: Yo no lo descartaría, porque por algo está en el libro y firefox es mozilla...
__________________
Esteban Quintana
  #7 (permalink)  
Antiguo 20/12/2005, 10:33
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Güenas monoswim

mira, lo que es propietario de explorer es el all

document.all

hace tiempo que dejó de utilizarse pero aún lo mantiene implementado y lo reconoce

el layers (document.layers) fue otro invento propietaro de Netscape y sólo furula hasta la versión 4.x. Desde la versión posterior a 4.x ni siquiera lo tiene implementado y no es reconocido. La forma universal y standard de acceder a un elemento concreto mediante su id es el getElementById que está implementado en los navegadores al menos desde IE5.0 y NS6. Para que un navegador no tenga implementado ese método tiene que ser muuuy viejo
  #8 (permalink)  
Antiguo 20/12/2005, 10:52
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
Error: document.getElementById("nombre") has no properties
Archivo de origen: http://................/buzon.php
Línea: 549
  #9 (permalink)  
Antiguo 20/12/2005, 10:55
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Cita:
Iniciado por richardinj
Error: document.getElementById("nombre") has no properties
Archivo de origen: http://................/buzon.php
Línea: 549
ok, en el script que dejaste no veo ninguna línea que llame a un elemento por su id ¿me lo pones?
  #10 (permalink)  
Antiguo 20/12/2005, 12:26
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
Ahi va:

Cita:

function AJAX(){
var ajaxs = ["Msxml2.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2.XMLH TTP.5.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"];
var ajax = false;
for(var i=0 ; !ajax && i<ajaxs.length ; i++){
try{ ajax = new ActiveXObject(ajaxs[i]); }
catch(e) { ajax = false; }
}
if(!ajax && typeof XMLHttpRequest!='undefined') {
ajax = new XMLHttpRequest();
}
return ajax;
}


function votar(){

v=false;
for(i=0; i<5;i++)
{
if (document.frmencuesta.opciones(i).checked)
{ v=true; opc=document.frmencuesta.opciones(i).value; }
}

if (!v)
{alert("Elija una opción de la lista"); return 0; }



var ajax = AJAX();

if(!ajax){
alert("Error en IE");
return false;
}



document.getElementById('mostrar_encuesta').innerH TML = "<b>Cargando...</b>"

ajax.open("POST","resultado_encuesta.php",true);
ajax.onreadystatechange = function() {
if (ajax.readyState == 4) {
document.getElementById("mostrar_encuesta").innerH TML=ajax.responseText;
}
}


ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("opciones="+opc);
}



  #11 (permalink)  
Antiguo 20/12/2005, 12:43
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hum ... déjame ver el html del elemento 'mostrar_encuesta'

Se detiene el script yá en la primera llamada? es decir, te llega a poner lo de cargando?
  #12 (permalink)  
Antiguo 20/12/2005, 13:32
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
va...

Cita:
<form id="frmencuesta" name="frm" method="post" action="resultado_encuesta.php">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#99CCCC"><div align="center"><strong>Encuesta</strong></div></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="101%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><div align="center" style="color: #000000">&iquest;Que Opinas de este Portal web? </div></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">

<div id="mostrar_encuesta_resultados">
<table width="120" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><p>
<label>
<input type="radio" name="opciones" value="1" />
Excelente</label>
<br />
<label>
<input type="radio" name="opciones" value="2" />
Bien</label>
<br />
<label>
<input type="radio" name="opciones" value="3n" />
Regular</label>
<br />
<label>
<input type="radio" name="opciones" value="4" />
Mal</label>
<br />
<label>
<input type="radio" name="opciones" value="5" />
Horrible</label>
<br />
</p></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><div align="center">
<input style="font-size:12px; border-style: groove" type="button" onclick="javascript:votar();" name="Submit22" value="Votar" />
</div></td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><div align="center">
<label></label>
</div></td>
</tr>
<tr>
<td bgcolor="#333333"><div align="center"></div></td>
</tr>
</table>
</form>
  #13 (permalink)  
Antiguo 20/12/2005, 13:33
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
lo del formulario (<FORM> ) ovbialo... esta casi por demas....
  #14 (permalink)  
Antiguo 20/12/2005, 13:37
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
En el código que has puesto no coincide el id del resultado con el que es llamado en el script

<div id="mostrar_encuesta_resultados">

document.getElementById('mostrar_encuesta').innerH TML = "<b>Cargando...</b>"

¿has mirado que no sea eso?
  #15 (permalink)  
Antiguo 20/12/2005, 19:00
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
ha lo olvide... al principio borre la palabra resultados.. disculpa....
  #16 (permalink)  
Antiguo 22/12/2005, 13:22
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
ha lo olvide... al principio borre la palabra resultados.. disculpa....
  #17 (permalink)  
Antiguo 31/12/2005, 06:47
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Qué tal,

no sé si habrás resuelto el problema. No he podido dedicar algo de tiempo para mirarlo con calma hasta hoy, te digo lo que he encontrado por si aún tienes el problema.

Probando con FF no he obtenido el error que mencionas, salvo al principio dado que había ese cambio en el identificador del contendor. Una vez corregido el valor del id a mostrar_encuesta_resultados no dió más ese error, pero sí lanzaba otros que una vez corregidos ha hecho que funcione correctamente en firefox.

El primer error es que pretendes acceder a los distintos elementos de radio de tu formulario indicando su posición entre paréntesis

document.frmencuesta.opciones(i).checked

Eso no es correcto, pues son un array y debes indicar la posición de un array con corchetes

document.frmencuesta.opciones[i].checked
Debajo de esta tienes otra línea con el mismo error sintáctico.

Finalmente no identifica tu formulario porque tratas de acceder a él por su id en vez de por su name.

Tu form lo tienes así

<form id="frmencuesta" name="frm" method="post" action="resultado_encuesta.php">

y tratas de acceder a él mediante
document.frmencuesta.opciones[i].checked

deberías cambiar su name por frmencuesta o bien cambiar el nombre del form en el script
document.frm.opciones[i].checked

Corrigiendo eso te funcionará correctamente

Un saludo
  #18 (permalink)  
Antiguo 31/12/2005, 09:53
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
Bueno sigo con el mismo problea, pero en algunas PC con firefox si funcionan, lo que pasa es que yo descarge el firefox que salia en un anuncio google... y al usarlo me salia error. no reconoce getElementById
  #19 (permalink)  
Antiguo 31/12/2005, 09:57
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Tal como tenías el código tampoco funcionaba en mi firefox.
¿has probado a hacer los cambios que te he sugerido?
  #20 (permalink)  
Antiguo 04/01/2006, 01:44
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
Sip. pero ahora solamente pruebo esto...


document.getElementById("prueba").value="HOla Mundo"


y sale error getElementById creo que es el firefox...

Saludos.
  #21 (permalink)  
Antiguo 04/01/2006, 03:05
 
Fecha de Ingreso: marzo-2004
Mensajes: 34
Antigüedad: 20 años, 1 mes
Puntos: 0
Puedes mostrar todo el código de tu página de prueba?? Es muy sospechoso lo que te ocurre.
La solución que te ha dado tunait, es del todo correcta y funciona.

getElementById no da ningún tipo de problemas con firefox.

un saludo
__________________
Quien se lo propone, lo consigue.
http://www.serakesi.com
  #22 (permalink)  
Antiguo 04/01/2006, 03:15
 
Fecha de Ingreso: marzo-2004
Mensajes: 34
Antigüedad: 20 años, 1 mes
Puntos: 0
Esto funciona:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html>
    <
head>
        <
title>Prueba hola mundo</title>
    </
head>    
    <
body>
        <
div id="prueba"></div>
        <
script type="text/javascript" language="javascript">
            
document.getElementById("prueba").innerHTML="HOla Mundo";
        
</script>
    </body>
</html> 
Esto también:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html>
    <
head>
        <
title>Prueba hola mundo</title>
        <
script type="text/javascript" language="javascript">
            function 
Prueba(){
                
document.getElementById("prueba").innerHTML="HOla Mundo";
            }
        
</script>
    </head>    
    <body onload="Prueba()">
        <div id="prueba"></div>
    </body>
</html> 
__________________
Quien se lo propone, lo consigue.
http://www.serakesi.com
  #23 (permalink)  
Antiguo 04/01/2006, 03:17
 
Fecha de Ingreso: marzo-2004
Mensajes: 34
Antigüedad: 20 años, 1 mes
Puntos: 0
Con el value tambien funciona:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html>
    <
head>
        <
title>Prueba hola mundo</title>
        <
script type="text/javascript" language="javascript">
            function 
Prueba(){
                
document.getElementById("prueba").value="HOla Mundo";
            }
        
</script>
    </head>    
    <body onload="Prueba()">
        <input id="prueba"></input>
    </body>
</html> 
La verdad, no se cual puede ser tu problema. Cuando veamos tu código, entonces podremos ayudarte.

un saludo
__________________
Quien se lo propone, lo consigue.
http://www.serakesi.com
  #24 (permalink)  
Antiguo 11/01/2006, 09:38
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 18 años, 10 meses
Puntos: 2
Les comento (ahora no poseo ninguno) pero con algunas pruebas firefox me ha dado el mismo error, el error dice que getElementById no es una función, no le di mucha importancia en principio porque no me importa con que navegador se pueda usar (es una aplicacion para una intranet) seguí probando con el IE y ningún problema después cuando estuvo terminado lo probé en firefox y ya no daba ese error, y la linea que me indicaba no la modifique para nada. No se a que se deba, pero no se sorprendan que ya somos dos con ese error en firefox, pero en la forma que se me presento a mi el error creo que es debido a un bug del firefox y no por otra razón es muy aleatorio en ese error y a mi se me presento unas 3 o 4 veces y se arreglo magicamente (en mi caso).

Saludos.
  #25 (permalink)  
Antiguo 11/01/2006, 10:32
 
Fecha de Ingreso: marzo-2004
Mensajes: 34
Antigüedad: 20 años, 1 mes
Puntos: 0
Esto me huele a una mala terminación en otra función o algo parecido, mas que un error de getElementById provocado por mozilla.
A veces cuando tenemos errores en javascript no nos indica correctamente la línea o el error!!

Es muy extraño lo que te ha sucedido y sin el código por el cual 'posteaste'... pues no podremos demostrar, ni ver que podía ser la causa de tus problemas.

Un saludo
__________________
Quien se lo propone, lo consigue.
http://www.serakesi.com
  #26 (permalink)  
Antiguo 11/01/2006, 19:54
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
esto me sale

Creo que es el firefox.. ya me instale otro(descargado desde su web y no desde el que google recomienda)... y funciona normal...

Este es el error que me salía




Ese error me salia cuando daba click en un boton y envia el valor del TEXT "nombre" con ajax..
  #27 (permalink)  
Antiguo 12/01/2006, 03:59
 
Fecha de Ingreso: marzo-2004
Mensajes: 34
Antigüedad: 20 años, 1 mes
Puntos: 0
El id del input es 'nombre' también??

Después, ten cuidado con los espacios: <input__name='nombre'... mejor <input_name='nombre'...
_ = espacio

Puede que haya sido un error de firefox, pero no creo que getElementById sea el causante.

Discrepo!!! jaja
__________________
Quien se lo propone, lo consigue.
http://www.serakesi.com
  #28 (permalink)  
Antiguo 12/01/2006, 10:57
 
Fecha de Ingreso: marzo-2004
Mensajes: 34
Antigüedad: 20 años, 1 mes
Puntos: 0
He averiguado tu pagina mirando las imagenes:

Código PHP:
html="<form id='form1' name='form1' method='post' action=''>"
html=html+"<table width='98%' border='0' align='center' cellpadding='0' cellspacing='0' bgcolor='#f7f7f7'>"
html=html+" <tr>"
html=html+"<td width='10%'><strong>Nombre</strong></td>"
html=html+"<td width='90%'><label>"

html=html+"<input  name='nombre' type='text' style='border-style:groove; font:Arial, Helvetica, sans-serif; font-size:12px' size='20' maxlength='40' />"
...... 
No hay ningún id nombre en este form... ya sabemos porque puede ser ese error.
getElementById busca el id, como bien indica su definción.

Un saludo
__________________
Quien se lo propone, lo consigue.
http://www.serakesi.com

Última edición por ghismo; 12/01/2006 a las 11:20
  #29 (permalink)  
Antiguo 12/01/2006, 11:51
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
mmmmmmmmmm :O ... ya lo vi... gracias... cosas raras... en IE me funciona normal...

----------------

Bueno al ultimo de todo esto...

todos los navegadores soportan getElementById ?????????
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 18:00.