Autor Zpráva
artie
Profil *
Zdravím,

mám 2 divy, id="left" a id="right".
Načítám je AJAXem. Vše pracovalo tak jak má, dokud jsem nepotřeboval udělat toto:

<body onClick="zobrazLeft();zobrazRight();">

tedy po načtení stránky vypsat obsah obou divů na svá místa.
Chybu to nehlásí žádnou, zkoušel jsem FF chyb.konzoli a Firebug.
Vyplní se mi vždy pouze div druhý v pořadí(je jedno jaký) a první zůstává prázdný.

Jaký je postup v takové situaci?

děkuji.

Nástin kódu:
------------

<body onClick="zobrazLeft();zobrazRight();">

<div id="container">
<div id="left"></div>
<div id="right"></div>
</div>
</body>

------

var xmlHttp;
function createRequest(){

if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}


function writeToNews(){

if(xmlHttp.readyState == 4 && xmlHttp.status == 200){

document.getElementById("left").innerHTML = xmlHttp.responseText;
}
}

function zobrazLeft(value){

createRequest();
if(xmlHttp && (xmlHttp.readyState == 4 || xmlHttp.status == 0)){

xmlHttp.onreadystatechange = writeToNews;
xmlHttp.open("GET", "./content/news.php?action="+value, true);
xmlHttp.send(null);

}
else setTimeout("printNews(value)",1000);

}
artie
Profil *
Malá oprava, místo události onClick v body jsem myslel samozřejmě onLoad.
supik007
Profil *
no, máš problém s tím, že definuješ globální
var xmlHttp;

První druhá funkce se spustí po vytvoření prvního dotazu, ne po naplnění divu ... čili stratíš ten první objekt. xmlHttp nesmí být globální, pokud chceš spuoštět více dotazů najednou. např

var xmlHttp = createRequest();

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0