function updateItem(str)
{
var stocks =new Array("GOOG","MSFT","AAP","JDAS","G");
for(var i=0; i<stocks.length;i++)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url="php/updateCart.php";
url=url+"?q="+stocks[i];
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange= function(){
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById(stocks[i])
.innerHTML=xmlHttp.responseText;
}
}
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
}
function startOff()
{
if(interval != -1)
{
clearInterval(interval);
}
interval = setInterval(function() {updateItem()}, 1000);
}
ある間隔でフォーム内の複数の部門を更新しようとしています。問題は、リクエストが完了するまで for ループが高速になることです。一連のアラートを作成し、エンターをゆっくり押すと気付くまで、これに気づきませんでした...おそらくsetTimeoutでそれを実行できることはわかっていますが、構文が正しく理解できないようです。readystate をチェックする関数の名前がないので、誰かが構文のヒントを教えてくれます。または、もっと簡単な方法があれば...それをいただければ幸いです。