Sva početnička pitanja Sva početnička pitanja bi trebala da se postavljaju u ovom forumu, a ako se pretvori u kvalitetnu diskusiju interesantnu svima - prebacićemo je u odgovarajući forum. Molimo "znalce" da ne omalovažavaju početnike, ako žele da pomognu svi ćemo biti zahvalni, ako ne žele, neka preskoče ovaj forum. |
|
Alati teme | Način prikaza |
23. 10. 2007. | #1 |
član
Certified
|
Ajax, Jquery i PHP - Problem u IE
Definitivno sam početnik u Ajax tehnologijama!
Rešio sam da iskoristim Ajax za pretraživanje. Pogledam kako to ljudi rade sa Jquery (dosta ga koristim pa je logično da i ovde radi), napravim i sve to radi kako sam zamislio u FF2 i Operi9. Ne da mi đavo mira da proverim i u IE (kao što je i red) kad ono: !?"#@?^&%"! Ogolim kod do običnog html-a, probam na još dve mašine... Kada mi PHP ispisuje sadrža, ništa ne radi (u IE), dok kada učitavam običan txt fajl onda radi. Inače, primeri koje sam gledao rade i u IE. Sve je testirano na XAMP i on-line Kod za učitavanje je sledeći: Kôd:
$.post("ajaxsearch.php", {q: ""+inputString+""}, function(data){ if(data.length >0) { $('#searchresults').show(); $('#searchresults').html(data); } }); Uostalom, na ovom linku imate primer - namerno sam ostavio da se vidi sadržaj foldera. Kopija ajaxsearch.php u txt formatu da bi ga skinuli a izgleda ovako: Kôd:
<?php $Search = "<div class=\"sbihead2\">Pronadjeno: 4</div>\n<div class=\"sbicontent\">\n<ul class=\"sbilinks\">\n"; $Search .= "\t<li><a href=\"http://www.link.com\" title=\"Title linka\"><strong>Link</strong></a><br />Nam elit. Sed eros odio, accumsan et, vestibulum in, bibendum ullamcorper, nibh.</li>\n"; $Search .= "\t<li><a href=\"http://www.link.com\" title=\"Title linka\"><strong>Link</strong></a><br />Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Nulla venenatis, lectus id lacinia pretium, elit turpis dictum ante, eget venenatis turpis felis at leo.</li>\n"; $Search .= "\t<li><a href=\"http://www.link.com\" title=\"Title linka\"><strong>Link</strong></a><br />Praesent eu lectus vel leo placerat commodo. Aenean ullamcorper adipiscing erat. Nulla ut mauris sit amet velit pellentesque suscipit. Nunc ornare mattis ante. Ut pretium mi ac purus. In hac habitasse platea dictumst.</li>\n"; $Search .= "\t<li><a href=\"http://www.link.com\" title=\"Title linka\"><strong>Link</strong></a><br />Vestibulum pellentesque ligula sit amet pede. Proin quam. Fusce vitae augue. Vestibulum ac erat et nulla pharetra suscipit. Aliquam vitae ligula. Pellentesque vehicula mollis risus.</li>\n"; $Search .= "</ul>\n</div>\n</div>\n"; echo $Search; ?> Unapred hvala |
23. 10. 2007. | #2 |
Moderator
Professional
Datum učlanjenja: 26.04.2007
Poruke: 350
Hvala: 0
4 "Hvala" u 4 poruka
|
sta ti vraca alert(data) nakon izvrsenja
function(data) { alert(data) . . . }
__________________
blog: mrsteel.wordpress.com www: hagane.us del.icio.us Hagane Flash Forum - od pocetnika do eksperta |
23. 10. 2007. | #3 |
Knowledge base
Wrote a book
Datum učlanjenja: 16.06.2005
Lokacija: Novi Sad
Poruke: 1.437
Hvala: 37
131 "Hvala" u 82 poruka
|
Mislim da mu se u IE funkcija ne poziva na onkey. Treba istraziti zasto.
__________________
Năo quero mais seguir um só caminho |
23. 10. 2007. | #4 |
profesionalac
Qualified
Datum učlanjenja: 20.06.2007
Lokacija: Beograd
Poruke: 189
Hvala: 17
14 "Hvala" u 11 poruka
|
Zameni
$('#searchresults').html(data); sa $('#searchresults')[0].innerHTML = data; |
24. 10. 2007. | #5 | ||
član
Certified
|
Citat:
Svugde vraća baš šta i treba, tačan 'echo' iz PHP-a ali ga Explorer ne smešta u DIV dok Opera i FF rade lepo. Citat:
Da li kod vas radi u Exploreru? Probajte i linkove 'TXT Load' i 'PHP LOad' koji su realizovani preko Jquery funkcije: Kôd:
$("a[@rel]").click(function() {$("#container").load(this.href, {thread_count: this.rel}); return false;}); |
||
24. 10. 2007. | #6 |
Pilece krilce(reš)
Master
|
mozda je pucanj u prazno, ali pokusaj da referenciras umesto direktno na ID ovako:
Kôd:
$("div[@id='searchresults']").show(); $("div[@id='searchresults']").html(data); |
24. 10. 2007. | #7 |
banned
Professional
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
|
Imaš grešku u sintaksi html kôda u php fajlu, postoji višak "</div>".
Nema veze sa problemom, ali nemoj na svaki keyup slati ajax zahtev, već postavim minimalan broj karaktera na koji šalješ, zatim sačekaj da korisnik napravi pauzu u kucanju pa tek onda šalji zahtev, odredi na koje karaktere je moguće slati zahtev, kada salješ zahtev sačekaj da se završi prethodni pa šalji novi. Postavi i neki indikator kada se šalje zahtev, kako bi korisnik znao.
__________________
Don't look at me; I'm lost too. “If you can't dazzle them with brilliance, baffle them with bul*s**t.” |
"Hvala" Br@nkoR za poruku: |
24. 10. 2007. | #8 |
Moderator
Professional
Datum učlanjenja: 26.04.2007
Poruke: 350
Hvala: 0
4 "Hvala" u 4 poruka
|
nista, pucaj onda sa
document.getElementById("...").innerHTML ako vec jQuery zeza, ja nisam doduse imao problema ali posalji njima primer mozda ce imati bolje objasnjenje btw. explorer zna da odbije da prikaze sadrzaj kada je sintaksa neispravna
__________________
blog: mrsteel.wordpress.com www: hagane.us del.icio.us Hagane Flash Forum - od pocetnika do eksperta |
24. 10. 2007. | #9 | ||
član
Certified
|
Citat:
Pa da poludim od zamajavanja, totalno mi je promaklo. Izvinjavam se svima koji su odvojili vreme da pomognu, biću MNOGO pažljiviji ubuduće kod ovakvih običnih stvari. Fokusiraš se na nešto novo a ubije te običan copy-paste Citat:
U keyup funkciji je već predviđen minimum slova kada da pošalje zahtev ali sam ga skinuo radi testiranja. Nije problem filtriranje karaktera, indikator, čekanje na prethodni load ali mislim da će mi biti problem čekanje na pauzu u kucanju. Usvakom slučaju, još jednom najlepše hvala na pomoći i savetima, to je uvek dobrodošlo! |
||
24. 10. 2007. | #10 |
banned
Professional
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
|
Npr.
Možeš odraditi tako što ćeš ajax zahtev slati sa malom pauzom, pomoću funkcije setTimeout. Kôd:
var timeoutID = null; function lookup(inputString) { if(inputString.length == 0) { $('#searchresults').hide(); } else { clearTimeout(timeoutID); timeoutID = setTimeout(function () { $.post("ajaxsearch.php", {q: ""+inputString+""}, function(data){ if(data.length >0) { $('#searchresults').show(); $('#searchresults').html(data); } }); }, 300); } }
__________________
Don't look at me; I'm lost too. “If you can't dazzle them with brilliance, baffle them with bul*s**t.” |
"Hvala" Br@nkoR za poruku: |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
JQuery slideDown i IE8 problem | sinisake | (X)HTML, JavaScript, DHTML, XML, CSS | 6 | 09. 08. 2010. 15:35 |
Problem sa javascript-om i jQuery-jem | eraser | Sva početnička pitanja | 6 | 16. 02. 2010. 18:23 |
Problem sa Ajax formom | ljtruba | Sva početnička pitanja | 2 | 29. 05. 2009. 11:35 |
jQuery i Ext | Ilija Studen | (X)HTML, JavaScript, DHTML, XML, CSS | 7 | 02. 03. 2007. 12:25 |
Ajax Mistakes a.k.a kad ne treba da koristite Ajax | nixa | Planiranje i usability | 7 | 13. 02. 2006. 17:20 |