Autor Zpráva
peppo
Profil *
Zdravim, mám napsaný jednoduchý chat pomocí php, celý je obalen v divu s názvem chat.
Po odeslání zprávy bych potřeboval, aby se právě tento div aktualizoval, aniž bych musel aktualizovat celou stránku a zároveň bych potřeboval nastavit script, který automaticky tento div obnoví např. po 30s, myslíte že by bylo něco podobného možné, aniž bych musel použít framy? Díky
Jimmy Hayek
Profil
peppo
hledej AJAX
peppo
Profil *
našel jsem tento skript:
<script type="text/javascript">
  function Ajax(){
var xmlHttp;
	try{
		xmlHttp=new XMLHttpRequest();// Firefox, Opera 8.0+, Safari
	}
	catch (e){
		try{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
		}
		catch (e){
		    try{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){
				alert("No AJAX!?");
				return false;
			}
		}
	}

xmlHttp.onreadystatechange=function(){
	if(xmlHttp.readyState==4){
		document.getElementById('ReloadThis').innerHTML=xmlHttp.responseText ;
		setTimeout('Ajax()',10000);
	}
}
xmlHttp.open("GET","http://www.example.com/the_page_that_contains_the_ div_content",true);
xmlHttp.send(null);
}

window.onload=function(){
	setTimeout('Ajax()',10000);
}

    </script>


ovšem ten mi do divu otevře celou stránku, chápu že to dělá příkaz: xmlHttp.open, jenže nevim jak to upravit...
Str4wberry
Profil
Nastavte mu jako druhý parametr adresu skriptu, který získává obsah, který se má zobrazit ve měnícím <div>u.
peppo
Profil *
Tento ajax kód a php script spolu s divem zobrazující chat jsou v jednom souboru, tudíž bych potřeboval upravit
xmlHttp.open("GET","http://www.example.com/the_page_that_contains_the_ div_content",true);

na něco takového:
xmlHttp.refresh(true);

samozřejmě, aby to fungovalo
peppo
Profil *
můžete mi prosím někdo pomoci?
Chamurappi
Profil
Reaguji na peppo:
Jestli potřebuješ stáhnout data z adresy odvozené od té, na které je aktuální stránka, použij vlastnost „location.href“.
xmlHttp.open("GET", location.href + "?parametr=hodnota", true);
peppo
Profil *
vyřešil jsem to tak, že jsem php script s obalujícím divem do souboru chat.php
a na stránce index.php jsem napsal:
include_once("./chat.php");

refresh jsem nastavil na 10s, ale teď potřebuji, aby se div obnovil i po stisku tlačítka pro odeslání příspěvku, můžete mi poradit? děkuji
Str4wberry
Profil
Tak při odeslání (třeba onsubmit) zavoláš tu samou funkci jako po deseti sekundách, co není jasné?
peppo
Profil *
Str4wberry
no jenže když tlačítku tu funkci přiřadím, tak se chat stejně obnoví až po 10s, je potřeba aktuální skript nějak upravit nebo vytvořit novou funkci?
Str4wberry
Profil
Tu funkci voláš zřejmě v nějakém intervalu, tak ji zavolej při odeslání.
peppo
Profil *
Str4wberry
Děkuji, už to funguje...
peppo
Profil *
ještě bych se chtěl zeptat na jednu věc, která se tohoto skriptu týče, bylo by možné zbývající čas do obnovení chatu v tomto divu nějak zobrazovat? Např.: Obnovení proběhne za 10s,poté 9s atd

Díky
peppo
Profil *
pomůžete mi, prosím?
Noglues
Profil
peppo
To už se tu jednou probíralo:Odkaz
Johnyy
Profil *
Noglues
Díky to je přesně ono, ale jak mám zajistit, aby se po odpočtu něco provedlo (to už mám), ale zaroveň odpočet začal znovu?
zkusil jsem:
} else {
refreshChat();
odpocet();

}


ovšem to nefunguje, nic to neprovede...
Johnyy
Profil *
pomůžete prosím?
Chamurappi
Profil
Reaguji na peppo/Johnyyho:
můžete mi prosím někdo pomoci?
pomůžete mi, prosím?
pomůžete prosím?
Přestaň prosím upozorňovat na své vlákno opakovanými prosbami. Pokud ti nikdo neodpovídá, tak asi nikdo neví. Nebo nikdo nemá chuť ti odpovědět — právě proto, že na sebe moc upozorňuješ. Potřebuješ-li skutečně nutně vyrobit kompletní skript, založ si vlákno v kategorii Práce a zakázky a nabídni adekvátní odměnu.

Vynuluj i.
Johnyy
Profil *
Chamurappi
Omlouvám se, ale občas je nutné na téma upozornit, pokud se propadne moc dolů, už si ho nikdo ani nevšimne.

Jinak zpět k hlavnímu problému, zkusil jsem
i = 0;
i
i = '';
dokonce i
clearInterval(i);

ovšem bez účinku...
peta
Profil
peppo
jakpsatweb - javascript - priklady
muzes pouzit metodu .innerHTML, .value nebo nejakou dalsi
jakpsatweb - javascript - priklady - datum a cas
Obsahuje priklad na aktivni zmenu casu, staci podle toho upravit tvuj priklad.
Doufam, ze mas zabezpecene, co se stane, kdyz se nepodari spojit se serverem. Mohlo by se totiz stat, ze se chat prestane obnovovat a cas plyne dal. Coz rozhodne neni dobre pro uzivatele. Ale mel by plynout dal script pro obnovovani stranky.
Johnyy
Profil *
peta
Příklady jsem si projížděl, ovšem nikde jsem nanašel, to co potřebuji, např. nevím jak by se z tohoto příkladu:
http://www.jakpsatweb.cz/javascript/priklady/datum-menici.html

dalo použít něco, co potřebuji, holt JS tak dobře neovládám.

Hledal jsem i na google, a i když už jsem něco našel tak tak většinou bylo window.location.reload(); což já nepotřebuji...
MiKe_94
Profil *
Prosím o pomoc.Tvořím web a použil jsem k přenahrávání ten AJAX skript nahoře v tomto tématu.Bohužel nefunguje v nové Opeře a já nevím jak to opravit.

Předem dík za pomoc

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:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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