Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/11/2007, 13:46
Avatar de moron
moron
 
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años
Puntos: 2
problema al separar funciones

Hola Gente, quisiera separar una funcion en dos, pero me da error.

paso a explicar:

esta es la funcion (asi funciona barbaro):
Código HTML:
var oXML;
var xmlDataSet;

function leerDatos()
{
       if (oXML.readyState == 4)
    {
        var xmlDataSet  = oXML.responseXML.documentElement;
         var tabla = '<table border = "1" bordercolor= "red"><tr>';
                                
                        
                        for (i = 0; i < xmlDataSet.getElementsByTagName('laboratorio').length; i++)
                        {
                            var item = xmlDataSet.getElementsByTagName('laboratorio')[i];
                            var idGrilla=i
                            var id = item.getElementsByTagName('id')[0].firstChild.data;
                            var cell = item.getElementsByTagName('nombre')[0];
                      }
    }
}

var url="../index.php";
    url=url+"?front"
    url=url+"&sid="+Math.random();
    
    oXML.open("GET", url,true);
    oXML.onreadystatechange = leerDatos;
    oXML.send(null);
quisiera que quede de esta manera:

Código HTML:
function leerDatos()
{
       if (oXML.readyState == 4)
    {
       xmlDataSet  = oXML.responseXML.documentElement;
    }
}
function armarTabla()
{
 var tabla = '<table border = "1" bordercolor= "red"><tr>';                                
                        
                        for (i = 0; i < xmlDataSet.getElementsByTagName('laboratorio').length; i++)
                        {
                            var item = xmlDataSet.getElementsByTagName('laboratorio')[i];
                            var idGrilla=i
                            var id = item.getElementsByTagName('id')[0].firstChild.data;
                            var cell = item.getElementsByTagName('nombre')[0];
//bla,bla.bla
}


var url="../index.php";
    url=url+"?front"
    url=url+"&sid="+Math.random();
    oXML.open("GET", url,true);
    oXML.onreadystatechange = leerDatos;
    oXML.send(null);
    armarTabla();
el tema es que cuando separo la funcion en dos me da error en la linea del for :
for (i = 0; i < xmlDataSet.getElementsByTagName('laboratorio').len gth; i++)
me dice que el objeto no acepta esa propiedad o metodo.

noté algo extraño, si le pongo un alert() en la funcion actualizarGrilla, le doy aceptar al alert en tiempo de ejecución y ahi si carga la grilla. Que tiene que ver?

function actualizarGrilla()
{

var url="../index.php";
url=url+"?front=frontLaboratorios&accion=listarlab oratorios"
url=url+"&sid="+Math.random();
alert(); Poniendo esto funciona, si lo saco da el error.
oXML.open("GET", url,true);
oXML.onreadystatechange = leerDatos;

oXML.send(null);

cargarGrilla();
}

Muchas gracias desde ya.