Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/02/2010, 16:53
Avatar de saymon
saymon
 
Fecha de Ingreso: septiembre-2003
Ubicación: Panama
Mensajes: 318
Antigüedad: 21 años, 2 meses
Puntos: 0
No se porque obtengo este mensaje: 'obj.readyState' es nulo o no es un objeto

Hola amigos,

A ver si me dan una ayudita con este error de javascript.
La pagina lo que hace es que al darle click a una imagen este sin salir de la pagina ni refrescar inserta unos datos en la base de datos y la imagen a la cual le dimos click la cambia por otra imagen.
La pagina me funciona bien, pero en IE me manda el siguiente erro y no se porque, este error lo repite varias veces, aqui se lo cocolo:

Mensaje: 'obj.readyState' es nulo o no es un objeto
Línea: 52
Carácter: 5
Código: 0
URI: http://www.misitio.com/test/1.php


Alguno me puede ayudar a arreglar el code para que no me mande este error ?

Aqui les dejo la pagina completita y la linea 52 de error es esta:
"if (obj.readyState == 4) {" MUCHAS gracias de antemano:

Código HTML:
<html>
<head>
<script type="text/javascript">
var obj;

function ProcessXML(url,szDivID)
{
//INICIA codigo para insertar los datos en la BD 
  if (window.XMLHttpRequest) {
    // obtain new object
    obj = new XMLHttpRequest();
    // set the callback function
    obj.onreadystatechange = processChange;
    // we will do a GET with the url; "true" for asynch
    obj.open("GET", url, true);
    // null for GET with native object
    obj.send(null);
  // IE/Windows ActiveX object
  } else if (window.ActiveXObject) {
    obj = new ActiveXObject("Microsoft.XMLHTTP");
    if (obj) {
      obj.onreadystatechange = processChange;
      obj.open("GET", url, true);
      // don't send null for ActiveX
      obj.send();
    }
  } else {
    alert("Your browser does not support AJAX");
  }
//FINALIZA codigo para insertar los datos en la BD
 
// INICIA codigo para cambiar la imagen del div
    if(document.layers)    //NN4+
    {
	document.layers[szDivID].innerHTML= "<img src='/images/deletefav.gif' border='0' title='Remove Favorite' height='10' width='10' />";
    }
    else if(document.getElementById)      //gecko(NN6) + IE 5+
    {
        var obj = document.getElementById(szDivID);
	obj.innerHTML = "<img src='/images/deletefav.gif' border='0' title='Remove Favorite' height='10' width='10' />";
    }
    else if(document.all)       // IE 4
    {
	document.all[szDivID].innerHTML = "<img src='/images/deletefav.gif' border='0' title='Remove Favorite' height='10' width='10' />";
    }
 // FINALIZA codigo para cambiar la imagen del div

}

function processChange() {
    // 4 means the response has been returned and ready to be processed
    if (obj.readyState == 4) {
        // 200 means "OK"
        if (obj.status == 200) {
                     alert("Listo Insertado"); 
            // process whatever has been sent back here:
        // anything else means a problem
        } else {
            alert("There was a problem in the returned data:\n");
        }
    }
}

</script>
<head>
<body>

<div id="12345" style="float:left; margin-right:4px;">
<a href ="javascript:ProcessXML('insertar.php?nombre=thalia&cancion=pielmorena&ruta=archivos/thalia','12345')" onMouseOver="this.style.cursor='pointer'"><img src="/images/fav.gif" border="0" title="Add to Favorite" height="10" width="10" /></a>
</div>

</body>
</html>