ここに、Firebug でデバッグしてきたコード ブロックがあります。foo
パラメータを関数に渡す方法を知りたいですgetHoliday(param,param,param)
。これが私の XMLHttpRequest のコード ブロックです。
if (XMLHttpRequestObject.readyState==4 && XMLHttpRequestObject.status == 200)
{
var pp = null
var dd = null
var xmlResponse = XMLHttpRequestObject.responseXML;
var foo = new Array();
foo = parseXML(xmlResponse);
getHoliday(pp,dd,foo);
}
の最初の 2 つのパラメーターはgetHoliday
、プロセスの後半まで使用されません。getHoliday
最初に配列からデータをロードしたいfoo
ので、将来は以下に示すように foo を使用できます。ブレークポイントが getHoliday に到達するとすぐにスクリプトが停止するので、パラメーターが間違っていると思います。指摘したいのは何もpp
ありdd
ません。空の未定義パラメーターのプレースホルダーです。
function getHoliday(monthSelected,theday,names)
{
var HolidayName = new Array();
var holiday = ""
HolidayName = names;
monthSelected = monthSelected + 1;
for(var index = 0; HolidayName.length >= index; index++)
{
if(HolidayName[index] == monthSelected && HolidayName[index+1] == theday)
{
holiday = HolidayName[index+2]
}
}
return holiday
}
ここに降りるとすぐに、names
先ほど渡した配列が未定義になります。なんで?以下は、HolidayName
配列がどのように見えるかです。
HolidayName = new Array(2,4,"Party--12:00",2,22,"Eventalist Launch--6:00",2,18,"Play Day--12:00",3,17,"Play Day--12:00"););
アラートfoo
の結果は次のとおりです。
2,4,"Party--12:00",2,22,"Eventalist Launch--6:00",2,18,"Play Day--12:00",3,17,"Play Day--12:00"
ここにparseXMLがあります
function parseXML(xmlData)
{
var aOutput=document.getElementById("testing2");
var events = xmlData.getElementsByTagName('year').length;
for(var i=0;i< events;i++)
{
var eYear = xmlData.getElementsByTagName('year')[i].firstChild.nodeValue;
var eMonth = xmlData.getElementsByTagName('month')[i].firstChild.nodeValue;
var eDay = xmlData.getElementsByTagName('day')[i].firstChild.nodeValue;
var eHour = xmlData.getElementsByTagName('hours')[i].firstChild.nodeValue;
var eMinute = xmlData.getElementsByTagName('minutes')[i].firstChild.nodeValue;
var eTitle = xmlData.getElementsByTagName('title')[i].firstChild.nodeValue;
var holiStr = '"' + eTitle + "--" + eHour +":"+ eMinute + '"';
setup.push(eMonth,eDay, holiStr);
}
return setup;
}