Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Preuzimanje sadržaja iz PHP-a kroz Ajax - Potrebna pomoć

  • 5 odgovora
  • 1.716 pregleda

Najnovija ↓

Preuzimanje sadržaja iz PHP-a kroz Ajax - Potrebna pomoć 23.03.2011. u 11:52 · pre 190 meseci #1
Pozdrav!
Imam skriptu koja vuče saržaj iz php-a kada god se nešto ukuca u formu za pretragu.
Evo skripte
Code (javascript):

function showResult(str)
{
if (str.length==0)
  {
  document.getElementById("livesearch").innerHTML="";
  document.getElementById("livesearch").style.border="0px";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("livesearch").innerHTML=xmlhttp.responseText;
    document.getElementById("livesearch").style.border="1px solid #A5ACB2";
    }
  }
xmlhttp.open("GET","pretraga.php?q="+str,true);
xmlhttp.send();
}
 

"Problem" je što prilikom učitavanja nema nikakog "fancy" kružića koji naznačava korisniku da se rezultati učitavaju i d atreba da sačeka.
Da li neko može da mi pomogne oko ubacivanja tog "kružića" (znate onaj ajax loader kod fancybox-a).
Bio bih veoma zahvalan!
Re: Preuzimanje sadržaja iz PHP-a kroz Ajax - Potrebna pomoć 23.03.2011. u 12:07 · pre 190 meseci
izmenjeno 1 put, poslednji put Milan Kragujevic 23.03.2011. u 18:36
  1. Milan Kragujevic23.03.2011. u 18:36zapis iz teksta poruke
#2
Rešeno!!!
Code (javascript):
function showResult(str)
{
if (str.length==0)
  {
  document.getElementById("livesearch").innerHTML="";
  document.getElementById("livesearch").style.border="0px";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("livesearch").innerHTML=xmlhttp.responseText;
    document.getElementById("livesearch").style.border="1px solid #A5ACB2";
    }
 else {
   document.getElementById("livesearch").innerHTML = '<img src="loading.gif">';
 }
  }
xmlhttp.open("GET","pretraga.php?q="+str,true);
xmlhttp.send();
}

Dodato je
Code (javascript):
else {
   document.getElementById("livesearch").innerHTML = '<img src="loading.gif">';
 }
Re: Preuzimanje sadržaja iz PHP-a kroz Ajax - Potrebna pomoć 23.03.2011. u 12:26 · pre 190 meseci #3
ne vidim da ti se ovaj drugi kod razlikuje od prvog...

ali kako se to obicno radi (i kako si verovatno i uradio, pisem zbog ostalih kojima ovo mozda zatreba) je da se pre slanja zahteva (pre xhr.send()) nekom elementu koji sadrzi loading animaciju i koji je inicijalno sakriven promeni stil tako da postane vidljiv (ovo moze da se odradi dodavanjem/sklanjanjem odredjene css klase, ili direktnim menjanjem .style.display propertija).
nakon zavrsenog upita (nije bitno da li je zavrsen uspesno ili je vracena greska i ne treba ovo raditi samo kad smo dobili potvrdan odgovor od servera jer to nije uvek slucaj) jednostavno treba vratiti izmene koje smo napravili pre pocetka slanja (dakle ili skloniti/vratiti klasu ili podesiti .style.display na 'none').
Potpis
rafforum.rs - Forum Računarskog Fakulteta
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme