Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/03/2010, 14:53
La_LeY
 
Fecha de Ingreso: junio-2006
Mensajes: 147
Antigüedad: 18 años, 6 meses
Puntos: 1
Problemas con document.getElementById('').innerHTML

Buenas tardes,

Tengo mucho que no escribo en los foros, pero volví porque necesito una ayudita con AJAX. Estoy desarrollando una WEB y me esta presentando este inconveniente.

Cuando llamo una funcion en Ajax.js, este se me ejecuta perfectamente, le mostrare una partesita del Ajax.js

Cita:
var myRequest = getXMLHTTPRequest();
function abrirScript(url){
myRequest.open("GET", url, true);

myRequest.onreadystatechange = function(){
if(myRequest.readyState == 4) {
if(myRequest.status == 200) {
document.getElementById('script').innerHTML = '<div style="overflow:visible; position:absolute; width:100%; height:100%; top:0; left:0;" align="center">'+myRequest.responseText+'</div>';
} else {
alert("An error has occurred: "+ myRequest.statusText);
}

}

}
myRequest.send(null);

}
function cerrarAdd(qtype){
document.getElementById('script').innerHTML='';
location.href=".?qtype="+qtype+"&close=yes";
}
Donde getXMLHTTPRequest() esta dentro tambien del ajax.js y es de esta manera esa funcion

Cita:
function getXMLHTTPRequest()
{
var request = false;
try
{
request = new XMLHttpRequest(); /* e.g. Firefox */
}
catch(err1)
{
try
{
vrequest = new ActiveXObject("Msxml2.XMLHTTP");
/* some versions IE */
}
catch(err2)
{
try
{
request = new ActiveXObject("Microsoft.XMLHTTP");
/* some versions IE */
}
catch(err3)
{
request = false;
}
}
}
return request;
}
Esto esta supuesto a funcionarme muy bien y lo hace muy bien pero aqui viene mi pregunta.

Cuando ejecuto la funcion abrirScript('url');, esta se me ejecuta sin ningun problema y me pone mi ventanita encima de todo muy bien, en esta ventanita tengo un boton llmado CERRAR el cual cuando le dan click ejecuta la funcion cerrarAdd y tambien funciona perfectamente.

El inconveniente esta cuando vuelvo a llamar la funcion abrirScript('url'), el Internet Explorer 8 me arroja el siguiente error:

Cita:
Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)
Timestamp: Thu, 25 Mar 2010 20:45:35 UTC


Message: 'document.getElementById(...)' is null or not an object
Line: 41
Char: 3
Code: 0
URI: http://xxxxx/xxxxx/scripts/ajax.js
Pero si sigo navegando en la web dentro de mi misma web, hay veces que vuelve a funcionar y no se el porque no funciona.

Como nota adicional la Linea 41 esta dentro de la funcion
Cita:
...
40. if(myRequest.status == 200) {
41. document.getElementById('script').innerHTML = '<div style="overflow:visible; position:absolute; width:100%; height:100%; top:0; left:0;" align="center">'+myRequest.responseText+'</div>';
42. } else {
....
Espero haber sido lo bastante claro, este error no me pasa ni en Mozilla ni en Chrome, pero necesito que funcione perfecto en el Internet Explorer.

Gracias de antemano

NOTA: Tengo un <div id='script'></div> en la pagina que utilizo estas funciones.
__________________
________________________________
Moisés Bretón
[email protected]