Foros del Web » Programando para Internet » Javascript »

Problema para visualizar pagina en firefox

Estas en el tema de Problema para visualizar pagina en firefox en el foro de Javascript en Foros del Web. Buenas a todos. En primer lugar deciros que es espero no haberme equivocado de subforo, lo coloco aqui por que el script esta dentro de ...
  #1 (permalink)  
Antiguo 01/05/2012, 04:49
 
Fecha de Ingreso: enero-2010
Mensajes: 30
Antigüedad: 14 años, 3 meses
Puntos: 0
Pregunta Problema para visualizar pagina en firefox

Buenas a todos.

En primer lugar deciros que es espero no haberme equivocado de subforo, lo coloco aqui por que el script esta dentro de una pagina php si deberia ir en otro subforo no tengo problema en que lo cambies de lugar o lo borreis de aqui.

Bueno, al grano.

Resulta que estoy haciendo una web de informacion de videojuegos, y llevo unos dias creando el formulario para que los usuarios puedan poner sus propios juegos.

Hay una parte (ya esta hecha) que dependiendo de la opcion elegida en un <option>, abajo aparece automaticamente su correspondiente clasificacion (esta es llamada a la bbdd por php), a continuacion os muestro una imagen para ver mejor lo que digo.



Como vemos si selecciono la region europea automaticamente me aparece pegi 8sistema de clasificacion europea).

Ahora os pongo el script (que lo tuve que buscar de una pagina y adaptarlo al mio) que realiza este efecto.

Código:
function mostrarClasificaciones(str){
 if (str=="") {
  document.getElementById("txtHint").innerHTML="";
  return;}
if (window.XMLHttpRequest){
  // code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();}
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
  xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;}}
  xmlhttp.open("GET","getuser.php?q="+str,true);
  xmlhttp.send();
}
El problema de esto es que SOLO me funciona en internet explorer y no en los demas (he probado con firefox, chrome y opera).

Yo creo que el problema esta en esta parte.

Código:
if (window.XMLHttpRequest){
  // code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();}
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
  xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;}}
Que es donde (supongo) programa para que se vea en mas navegadores. He probado con quitar esa parte o cachos pero el script no me funciona (no realiza la parte php).

La pregunta es, es problema del codigo o se requiere una configuracion para que firefox lo soporte?

¿Habria otra forma mas simple de hacer este efecto?, lo que si he hecho es que al seleccionar un opcion se vaya a otra pagina php y lo cargue, pero no lo hace en la misma pagina del formulario, sino en otra.

Espero que me puedan ayudar, muchas gracias.
  #2 (permalink)  
Antiguo 01/05/2012, 10:38
 
Fecha de Ingreso: marzo-2007
Mensajes: 82
Antigüedad: 17 años, 1 mes
Puntos: 21
Respuesta: Problema para visualizar pagina en firefox

Yo no usararía XMLHttpRequest, tenes la opción de usar jQuery ?
Con eso te aseguras que funcione en todos los navegadores

Algo asi:

Código Javascript:
Ver original
  1. function mostrarClasificaciones(str) {
  2.     if (str == "") {
  3.         document.getElementById("txtHint").innerHTML = "";
  4.         return;
  5.     }
  6.    
  7.     $.ajax({
  8.         url : "getuser.php",
  9.         data : 'q=' + str,
  10.         success : function(response) {
  11.             document.getElementById("txtHint").innerHTML = response;
  12.         },
  13.         error : function(jqXHR, textStatus, errorThrown) {
  14.             // Aca el manejo del error en el servidor
  15.         }
  16.     });
  17. }
__________________
Hazle un favor a tu cerebro y juega Ajedrez online
Chess online
  #3 (permalink)  
Antiguo 02/05/2012, 03:50
 
Fecha de Ingreso: enero-2010
Mensajes: 30
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Problema para visualizar pagina en firefox

Muchas gracias chinanzio por la contestacion, siendo sincero no me ha funcionado el script que me has pasado, seguramente sera algun error mio al copiar.

Aun asi, he seguido investigando y ya lo he arreglado.

La solucion la he encontrado viendo la consola de errores de firefox (control +shift + j) donde me ponia el error: "activexobject is not defined".

Me he puesto a mirar el codigo y he eliminado esta linea: "xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");" y tachan, ahora me funciona perfectamene en el firefox.

Porgo mi solucion por si alguien le pasa algo parecido.
  #4 (permalink)  
Antiguo 02/05/2012, 04:08
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Problema para visualizar pagina en firefox

Hola:

Cita:
Iniciado por chinanzio Ver Mensaje
Yo no usararía XMLHttpRequest, tenes la opción de usar jQuery ?
Con eso te aseguras que funcione en todos los navegadores
...
De las respuestas absurdas que he leído, la tuya se lleva la palma

Todas las librerías, para implementar rutinas Ajax usan XMLHttpRequest o la discriminación para explorer de los controles ActiveX, o los iframes ocultos para subir imágenes... y si se sabe evitar el uso de librerías aparte de ahorrar un espacio muy valioso y un tiempo de carga más valioso aún, se "sabe lo que se hace"... cosa que la gran mayoría de los que recomiendan librerías no saben (seguramente tú mismo)...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 02/05/2012, 08:51
 
Fecha de Ingreso: marzo-2007
Mensajes: 82
Antigüedad: 17 años, 1 mes
Puntos: 21
Respuesta: Problema para visualizar pagina en firefox

Cita:
Iniciado por caricatos Ver Mensaje
Hola:



De las respuestas absurdas que he leído, la tuya se lleva la palma

Todas las librerías, para implementar rutinas Ajax usan XMLHttpRequest o la discriminación para explorer de los controles ActiveX, o los iframes ocultos para subir imágenes... y si se sabe evitar el uso de librerías aparte de ahorrar un espacio muy valioso y un tiempo de carga más valioso aún, se "sabe lo que se hace"... cosa que la gran mayoría de los que recomiendan librerías no saben (seguramente tú mismo)...

Saludos
caricatos , no es necesario ser maleducado
__________________
Hazle un favor a tu cerebro y juega Ajedrez online
Chess online

Etiquetas: clasificacinoes, juegos, pegi, php
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 12:56.