The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
|
#1
|
|||
|
|||
YUI javascript, problem with IE
Hello,
I made a javascript code which works great on almost all browsers except Internet Explorer, can anyone please let me know what I'm doing wrong here, The Javascript code is suppose to scan the document after it is loaded, look for anchor tags which contain the id pattern of "cityid_x", put all matched ids into an array, add event listener for matched ids, send a link to ajax.php to get the XML response, from that XML response get the specified tag content and put it into the html Firefox, Chrome and Safari does all that without complaining, however IE apparently can't get the tag content from XML response and gives the error of Object Required on line : document.getElementById('ywcity').innerHTML = changecity.handler.responseXML.getElementsByTagNam e('ywcity')[0].firstChild.nodeValue; here is the javascript code: Code:
var changecity; var city_ids = []; //city_ids is an array function city_init() { //get ids of all Anchors var i, ii, links; ii = 0; links = document.getElementsByTagName("a"); for(i=0;i<links.length;i++) { //if id matches the pattern cityid_*, grab em and put them into the array of city_ids, in order of ii if(links[i].id.match(/^cityid_([0-9]+)/)) { city_ids[ii] = links[i].id; ii++; } } //Event listener for when you click on matched ids YAHOO.util.Event.addListener(city_ids, "click", send_changecity); } function send_changecity(e) { var city_id = this.id.split(/^cityid_([0-9]+)/)[1]; changecity = new vB_AJAX_Handler(true); changecity.onreadystatechange(handle_changecity); changecity.send("/ajax.php?do=changecity&city_id=" + city_id + SESSIONURL + "&securitytoken=" + SECURITYTOKEN); //stop page from reloading YAHOO.util.Event.stopEvent(e); return false; } function handle_changecity(e) { if(changecity.handler.readyState == 4 && changecity.handler.status == 200) { if (changecity.handler.responseXML) { //a div inside html document <= content of a tag in xml response document.getElementById('ywcity').innerHTML = changecity.handler.responseXML.getElementsByTagName('ywcity')[0].firstChild.nodeValue; //additional items } } } YAHOO.util.Event.addListener(window, "load", city_init); HTML Code:
<div id="ywcity">Sydney</div> <a id="cityid_2" href="ajax.php?do=changecity&city_id=2">Melbourne</a> Code:
<ywdata> <ywcity>Sydney</ywcity> </ywdata> |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|