Autor Zpráva
Baly
Profil *
Zdravím, mám následující kód:
<html>
<body>
<body onload="refresh(); datum();">
<script type="text/javascript">
var http,timer,refreshh, date;
if (window.XMLHttpRequest) {
http = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
http = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
alert("Váš Browser Nepodporuje XMLHTTP!");
}
function odeslat() {
http.open("GET","zkouska.php?text="+document.forma.textik.value+"&nick="+document.forma.jmeno.value, true);
http.send(null);
http.onreadystatechange = function() {
if (http.readyState == 4) {
text.innerHTML=http.responseText;
}
document.forma.textik.value="";
}
return false;
}
function refresh() {
http.open("GET","zkouska.php?status=refresh", true);
http.send(null);
http.onreadystatechange = function() {
if (http.readyState == 4) {
text.innerHTML=http.responseText;
}
}
refreshh = document.forma.refresh.value;
if (refreshh < 5) {
refreshh = 5;
}
if (refreshh > 60) {
refreshh = 60;
}
document.forma.refresh.value=refreshh;
timer = setTimeout("refresh()", refreshh*1000);
}
function interval() {
}
function datum() {
var clear = clearTimeout(date);
http.open("GET", "zkouska3.php", true);
http.send(null);
http.onreadystatechange = function() {
if (http.readyState != 4 || http.status != 200) {
datumm.innerHTML="nacitam...";
}
if (http.readyState == 4) {
datumrefresh();
datumm.innerHTML=http.responseText;
}
}
}
function datumrefresh() {
date = setTimeout("datum()", 10000);
}
</script>
<div id="text"></div>
<form method="POST" onSubmit="return odeslat()" name="forma">
Nick: <input type="text" name="jmeno" size="6"> Text: <input type="text" size="50" name="textik"> <input type="submit" value="odeslat">  refresh <input type="text" size="1" name="refresh" value="5">s
</form>
<div id="datumm"></div>
</body>
</html>

Je to chat a pod ním je ukázáno datům a čas. Chat i datum se refreshují rozdílně a v rozdílných intervalech. Jenomže problém je v tom, že při refreshi chatu se okamžitě začne pokoušet o refresh i to datum, nemám zdání proč.

žívá ukázka: http://yama.kx.cz/zkouska.html
Baly
Profil *
hmm, našel jsem problém... nacítání se spustí při http statusu 4, a to je u všech funkcí stejně, takže se asi spustí všechny za ráz. Jenomže se mi nedaří je od sebe nějak odlišit
Baly
Profil *
Problém vyřešen, vytvořil jsem 2 různé httprequesty:
if (window.XMLHttpRequest) {
http = new XMLHttpRequest();
prikaz = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
http = new ActiveXObject("Microsoft.XMLHTTP");
prikaz = new ActiveXObject("Microsoft.XMLHTTP");
}

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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