javascript - Uncaught TypeError: Cannot set property 'innerHTML' of null -
i have been having trouble code. have tried best stay book book seems wrong.
the following code should display rss feed ever radio button has been selected. can see website on http://w3.cnm.edu/~bnoble/cis1210/afds/travel/traveldeals.html.
thanks in advance help!
<html> <head> <title>travel deals rss feed</title> <script> var rssrequest = false; function getrequestobject() { try { rssrequest = new xmlhttprequest(); } catch (requesterror) { try { rssrequest = new activexobject(); } catch (requesterror) { try { rssrequest = new activexobject("micorsoft.xmlhttp"); } catch (requesterror) { window.alert("i sorry. browser not support ajax. please upgrade broweser , try again."); return false; } } } return rssrequest; } function rssupdate() { if(!rssrequest)rssrequest = getrequestobject(); (var i=0; i<6; ++i) { if (document.forms[0].deals[i].checked == true) { var rss = document.forms[0].deals[i].value; break; } } rssrequest.abort(); rssrequest.open("get","traveldeals.php?" + "rss" + rss, true); rssrequest.send(null) rssrequest.onreadystatechange=getrssdeals; //cleartimeout(recentdeals); //var recentdeals = settimeout('rssupdate()', 5000); } function getrssdeals() { if(rssrequest.readystate==4 && rssrequest.status == 200) { var deals = rssrequest.responsexml; document.getelementbyid("rssfeed").innerhtml = "" var dealsinfo=deals.getelementsbytagname("item"); if (dealsinfo.length > 0) { (var i=0; i<dealsinfo.length; ++i) { var curheadline = dealsinfo[i].getelementsbytagname("title")[0].childnodes[0].nodevalue; var curlink = dealsinfo[i].getelementsbytagname("link")[0].childnodes[0].nodevalue; var curpubdate = dealsinfo[i].getelementsbytagname("pubdate")[0].childnodes[0].nodevalue; var curdesc = dealsinfo[i].getelementsbytagname("description")[0].childnodes[0].nodevalue; var curdeal = "<a href='" + curlink + "'>" + curheadline + "</a><br/>"; curdeal += curdesc + "<br/>";curdeal += curdesc + "<br/>"; document.getelementbyid("rssfeed").innerhtml += curdeal; } } else document.getelementbyid("rssfeed").innerhtml = "the rss feed appears broken or empty."; } } </script> </head> <body onload="rssupdate()"> <h1>travel deals rss</h1> <form method="get" action=""> <table border="1"> <colgroup span="1" width="125"/> <colgroup span="1" width="350"/> <tr> <td align="top"> <input type="radio" name="deals" value="http://www.orbitz.com/rss/topdeals-vacationpackages.rss.xml" onclick="rssupdate()"/><orbitz<br/> <input type="radio" name="deals" value="http://www.travelocity.com/dealservice/globaltrips-shopping-svcs/deals-1.0/services/rssdealsservices?producttype=air&rdr=gen&nm=my~travelocity~specials&typ=0&orig=abq&dest=phx,las,lax,nyc,lgb&id=9197i1366355523195" checked="checked" onclick="rssupdate()"/><travelocity<br/> <input type="radio" name="deals" value="http://press.hotwire.com/index.php?s=43&pagetemplate=rss" onclick="rssupdate()"/><hotwire<br/> </td> <td id="rssfeed" valign="top></td> </tr> </table> </form> </body>
there no element id rssfeed
in page.
you can solve adding div
id rssfeed
in page
<div id="rssfeed"></div>
try complete code, because have unclosed element in markup
<html> <head> <title>travel deals rss feed</title> <script> var rssrequest = false; function parsexml(xml){ var parser, xmldoc; if (window.domparser) { parser = new domparser(); xmldoc = parser.parsefromstring(xml,"text/xml"); } else { // internet explorer xmldoc = new activexobject("microsoft.xmldom"); xmldoc.async = false; xmldoc.loadxml(xml); } } function getrequestobject() { try { rssrequest = new xmlhttprequest(); } catch (requesterror) { try { rssrequest = new activexobject(); } catch (requesterror) { try { rssrequest = new activexobject("micorsoft.xmlhttp"); } catch (requesterror) { window.alert("i sorry. browser not support ajax. please upgrade broweser , try again."); return false; } } } return rssrequest; } function rssupdate() { if(!rssrequest)rssrequest = getrequestobject(); (var i=0; i<6; ++i) { if (document.forms[0].deals[i].checked == true) { var rss = document.forms[0].deals[i].value; break; } } rssrequest.abort(); rssrequest.open("get","traveldeals.php?" + "rss" + rss, true); rssrequest.send(null) rssrequest.onreadystatechange=getrssdeals; //cleartimeout(recentdeals); //var recentdeals = settimeout('rssupdate()', 5000); } function getrssdeals() { if(rssrequest.readystate==4 && rssrequest.status == 200) { var deals = parsexml(rssrequest.responsexml); document.getelementbyid("rssfeed").innerhtml = "" var dealsinfo=deals.getelementsbytagname("item"); if (dealsinfo.length > 0) { (var i=0; i<dealsinfo.length; ++i) { var curheadline = dealsinfo[i].getelementsbytagname("title")[0].childnodes[0].nodevalue; var curlink = dealsinfo[i].getelementsbytagname("link")[0].childnodes[0].nodevalue; var curpubdate = dealsinfo[i].getelementsbytagname("pubdate")[0].childnodes[0].nodevalue; var curdesc = dealsinfo[i].getelementsbytagname("description")[0].childnodes[0].nodevalue; var curdeal = "<a href='" + curlink + "'>" + curheadline + "</a><br/>"; curdeal += curdesc + "<br/>";curdeal += curdesc + "<br/>"; document.getelementbyid("rssfeed").innerhtml += curdeal; } } else document.getelementbyid("rssfeed").innerhtml = "the rss feed appears broken or empty."; } } </script> </head> <body onload="rssupdate()"> <h1>travel deals rss</h1> <form method="get" action=""> <table border="1"> <colgroup span="1" width="125"/> <colgroup span="1" width="350"/> <tr> <td align="top"> <input type="radio" name="deals" value="http://www.orbitz.com/rss/topdeals-vacationpackages.rss.xml" onclick="rssupdate()"/><orbitz<br/> <input type="radio" name="deals" value="http://www.travelocity.com/dealservice/globaltrips-shopping-svcs/deals-1.0/services/rssdealsservices?producttype=air&rdr=gen&nm=my~travelocity~specials&typ=0&orig=abq&dest=phx,las,lax,nyc,lgb&id=9197i1366355523195" checked="checked" onclick="rssupdate()"/><travelocity<br/> <input type="radio" name="deals" value="http://press.hotwire.com/index.php?s=43&pagetemplate=rss" onclick="rssupdate()"/><hotwire<br/> </td> </tr> </table> <div id="rssfeed"><div> </form> </body> </html>
Comments
Post a Comment