jorgenfi
05-14-2009, 11:39 PM
Hi!
I have made this script, and it works, but I wonder why I cant use arguments in the stateChanged function? Even if I only add brackets in the call for the function, without arguments, it fail. Why? And do you have suggestions on how to avoid making one new function (statechanged2 etc. ) for each content changed?
Jørgen
var xmlhttp;
var xmlhttp2;
function changeContent(str)
{
if (str.length==0)
{
return;
}
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Your browser does not support XMLHTTP!");
return;
}
var url=str;
url=url+"_xml/";
url=url+"headerContent.txt";
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
xmlhttp2=GetXmlHttpObject();
if (xmlhttp2==null)
{
alert ("Your browser does not support XMLHTTP!");
return;
}
var url=str;
url=url+"_xml/";
url=url+"mainContent.txt";
xmlhttp2.onreadystatechange=stateChanged2;
xmlhttp2.open("GET",url,true);
xmlhttp2.send(null);
}
function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("headerContent").innerHTML=xmlhttp.responseText;
}
}
function stateChanged2()
{
if (xmlhttp2.readyState==4)
{
document.getElementById("mainContent").innerHTML=xmlhttp2.responseText;
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
I have made this script, and it works, but I wonder why I cant use arguments in the stateChanged function? Even if I only add brackets in the call for the function, without arguments, it fail. Why? And do you have suggestions on how to avoid making one new function (statechanged2 etc. ) for each content changed?
Jørgen
var xmlhttp;
var xmlhttp2;
function changeContent(str)
{
if (str.length==0)
{
return;
}
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Your browser does not support XMLHTTP!");
return;
}
var url=str;
url=url+"_xml/";
url=url+"headerContent.txt";
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
xmlhttp2=GetXmlHttpObject();
if (xmlhttp2==null)
{
alert ("Your browser does not support XMLHTTP!");
return;
}
var url=str;
url=url+"_xml/";
url=url+"mainContent.txt";
xmlhttp2.onreadystatechange=stateChanged2;
xmlhttp2.open("GET",url,true);
xmlhttp2.send(null);
}
function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("headerContent").innerHTML=xmlhttp.responseText;
}
}
function stateChanged2()
{
if (xmlhttp2.readyState==4)
{
document.getElementById("mainContent").innerHTML=xmlhttp2.responseText;
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}