Me sugirieron que haga un if que verifique que el script item.getElementsByTagName('nombre')[0].firstChild.data; no sea null, lo hice para cada variable (nombre, ubicacion, telefono, etc,) pero solo funciona si se lo hago a una. les paso el codigo con if por si encuentran algun error
Código HTML:
function leerDatos(){
document.getElementById("lista").innerHTML="Cargando.......";
if (oXML.readyState == 4)
{
xml = oXML.responseXML.documentElement;
var tabla = '<table border = "1" bordercolor= "red"><tr>';
tabla+='<th>id</th><th>Nombre</th><th>Ubicacion</th><th>Telefonos</th><th>Responsable</th><th>Email Responsable</th></tr>';
for (i = 0; i < xml.getElementsByTagName('laboratorios').length; i++)
{
var item = xml.getElementsByTagName('laboratorios')[i];
var idGrilla=i
var id = item.getElementsByTagName('id')[0].firstChild.data;
if (item.getElementsByTagName('nombre')[0].firstChild.data == null)
{
var nombre = ''
}
else
{
var nombre = item.getElementsByTagName('nombre')[0].firstChild.data
}
if ( item.getElementsByTagName('ubicacion')[0].firstChild.data == null)
{
var ubicacion= ''
}
else
{
var ubicacion = item.getElementsByTagName('ubicacion')[0].firstChild.data
}
var telefono = item.getElementsByTagName('telefono')[0].firstChild.data;
var responsable = item.getElementsByTagName('responsable')[0].firstChild.data;
var emailResponsable = item.getElementsByTagName('emailResponsable')[0].firstChild.data;
tabla = tabla + '<td><div onclick="cargarCamposLaboratorios('+ idGrilla + ')">' + id + '</div></td>';
tabla = tabla + '<td>' + nombre + '</td>';
tabla = tabla + '<td>' + ubicacion + '</td>';
tabla = tabla + '<td>' + telefono + '</td>';
tabla = tabla + '<td>' + responsable + '</td>';
tabla = tabla + '<td>' + emailResponsable + '</td>';
tabla=tabla + '</tr>'
}
tabla= tabla + '</table>';
document.getElementById("lista").innerHTML=tabla;
}
}
Por favor, si encuentran algun error contestenmen, estoy frenada con este problema.
Gracias