16. juli 2008 - 11:20
Der er
13 kommentarer og 1 løsning
Ajax problem
Jeg har en ifsætning som ser således ud. if(xmlDoc.getElementsByTagName("bla")[0].childNodes[0].nodeValue!="" && xmlDoc.getElementsByTagName("bla1")[0].childNodes[0].nodeValue!="" && xmlDoc.getElementsByTagName("bla3")[0].childNodes[0].nodeValue=="T"){} Det virker også fint lige indtil bla eller bla1 er tomme. Så får jeg en fejl som siger: xmlDoc.getElementsByTagName("bla")[0].childNodes[0] has no properties. Hvordan kommer jeg ud over det?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
med tomme mener jeg at xml'en ser således ud <bla></bla><bla1></bla1>
Måske: function childNodeValue(o){ if(o.hasChildNodes())return o.firstChild.nodeValue; else return ""; } if(childNodeValue(xmlDoc.getElementsByTagName("bla")[0])!="" && childNodeValue(xmlDoc.getElementsByTagName("bla1")[0])!="" && childNodeValue(xmlDoc.getElementsByTagName("bla3")[0])=="T"){ }
Fejlen opstår, når du bruger nodeValue på childNodes[0], som ikke findes.
Hvis min kode ikke lige virker, kan du bruge: function childNodeValue(o){ if(o.firstChild)return o.firstChild.nodeValue; else return ""; } if(childNodeValue(xmlDoc.getElementsByTagName("bla")[0])!="" && childNodeValue(xmlDoc.getElementsByTagName("bla1")[0])!="" && childNodeValue(xmlDoc.getElementsByTagName("bla3")[0])=="T"){ }
Det virker ikke i Firefox, nu var jeg ellers lige så glad
<ole> Hvad sker der - og hvad sker der ikke - og får du fejl i fejlkonsolen? /mvh </bole>
Jeg får xmlDoc.getElementsByTagName("bla")[0].childNodes[0] has no properties, men som sagt kun i firefox
17. juli 2008 - 08:51
#10
Det står der jo ingen steder i min kode?
22. juli 2008 - 13:06
#11
Kan jeg ikke skrive childNodeValue(xmlDoc.getElementsByTagName("blablabla")[0])=="T"
22. juli 2008 - 13:55
#12
Jo, det burde du kunne.
22. juli 2008 - 13:58
#13
Jeg får denne fejl o has no properties
22. juli 2008 - 14:10
#14
Hmm. Prøv at rette: function childNodeValue(o){ if(o.hasChildNodes())return o.firstChild.nodeValue; else return ""; } til: function childNodeValue(o){ if(!o)return false; else if(!o.hasChildNodes())return false; return o.firstChild.nodeValue; }
Vi tilbyder markedets bedste kurser inden for webudvikling