beállítások
AJAX POST jQuery-vel
Webes tippek, trükkök | 2010/08/19 | írta: HeNtEs

A jQuery szó mi szó a legjobbnak mondható JS keretrendszer napjainkban, azonban azért vannak érdekes dolgai. Ezúttal az AJAX postolás igazi csapdáját fedjük fel, amit már oly sokszor elvétettünk.


Az alapokba nem mennénk bele, hiszen a jquery oldala alaposan tárgyalja az AJAX használatát. Alap esetben ugye van egy formunk, aminek postolt elemeit szeretnénk elküldeni egy PHP számára, ami majd jól feldolgozza. Íme tehát az alap felállású form:

<div class=".holder">
<form id="registrationform" method="post" action="">
<input type="text" id="newemail" name="newemail">
<input type="text" id="newuser" name="newuser">
<input type="button" value="Elküld" onclick="submitreg()">
</form>
</div>


Ezzel tehát kész a form, amivel egy mező tartalmát fogjuk elküldeni a php-nk számára a submitreg() javascript függvénnyel. Már magánál a form felépítésénél azonban vigyáznunk kell egy-két dologra! Ezek pedig a következőek:

  • NE használjunk type="submit" vagy <button> típusú elküldő gombokat mert mindkettő elpostolja a formot azonnal és nem lesz AJAXunk. Ha mindenképp ilyen gombokat szeretnénk használni rakjuk ki a </form> tagon kívülre ugyanis mindegy hol a gomb az onclick esemény lesz a fontos.

  • MINDIG adjunk name tagot az elpostolandó mezőnek! Hatalmas galibákat okozhat ugyanis postolásnál lévén a jquery serialize() függvénye csak name paraméterekre bukik, azt dolgozza fel.

  • Form köré igyekezzünk mindig egy DIV-et rakni nem csak későbbi design céljából, hanem mert így az AJAXunknak lesz egy semlegesnek mondható hordozó DIV-je, amit meghívhat és tartalommal tölthet fel.

Ha ezekre figyeltünk és minden meg van jöhet a világ leg egyszerűbb függvénye, amivel a PHP-nkat meghívva megkapjuk az eredményt és a form helyére kiíratjuk a sikeresen lefutó PHP tartalmát:

function submitreg (){
$.ajax({
type: "POST",
url: "sample.php",
data: $("#registrationform").serialize(),
success: function(data){
$('.holder).html(data);
}
});
}

Ennyi lenne tehát a függvény. POST-olt elemeinket a sample.php dolgozza fel amiben sima echo ""-zással visszatérő értékeket a jquery .html függvénye bepakolja a formunk kürl található DIV-be. Így a form eltűnik és mi azt iratunk ki a PHP-vel a helyére amit akarunk.


sample.php tartalma például: <?php echo "sikeres lefutás --> $_POST[newemail], $_POST[newuser]"; ?>


Ha ezt a pár dolgot betartjuk nem lesz bajunk az AJAX postolással jQuery-ben.

noavatar
GeRgO
2010/08/19 10:35
 
Nah akkor mégeccer, mert eltűnt a kommentem.
Tehát én még sose írtam formot name tag nélkül. ugyanis alapból az id mező nem arra szolgál, hogy postolánál a mezőt kiolvassuk.
De szerintem an még egy megoldás az imént említett szívásra, bár nem teszteltem.
A form tagjában onsubmit eseményt kell figyelni, ekkor használhatunk olyan elküldő gombokat mint a type=submit vagy button.
A következő kodrészlettel:
<from ... onsubmit="ajaxpostfuggveny(); return false;">
A return false fontos, mert ezzel akadályozzuk meg hogy elpostolódjon hagyományos módon a függvény.
Ennyi ki lehet próbálni, asszem régen nekem ez működött.
noavatar
Zoli
2010/08/19 10:04
 
Te jó ég hányzsor megszívtam már én is mindig elfelejtem ezt a name kell az inputnak dolgot. Pedig azssem még a jQuery doksijában is benne van! MInden esetre hasznos kis összefoglaló! Thnx
noavatar
HeNtEs
2010/08/19 01:24
 
Tehát GeRgO te is tanuld meg egy életre name nélkül nem ér semmit a form serialize() -nél! :D Zsir!

Egy blog fejlesztőknek és grafikusoknak

0
A Google már pár év óta nyilvánosságra hozza az évvégén, hogy mik is voltak azok a kifejezések, amik az adott évben ...
0
Előző cikkünknek folytatásaként, ahol megismerkedhettünk 103 valóban ötletes logóval, most bemutatunk 25 logót, ...
0
Két részes cikkbe kezdünk, amiben első körben bemutatunk kicsivel több, mint 100 olyan logót, amire ránézve - és némelyiken ...

Hírek a web világából

Ellenszenves a Google személyre szabott keresője

Kevés megértésre talált a Google azon nemrég bejelentett lépése, amelynek eredményeként az egyébként rendkívül ...

Egy kalóztörvény miatt áll a Wikipedia

Az online enciklopédia több más közösségi oldallal karöltve szerdán 24 órára leveszi az internetről angol nyelvű ...

Honlap referencia kereső

Cégünk által készített weblapokat eddig ennyien látták:
39 779 191
ebből a mai napon 21 819 látogató volt

Miért a TotalStudio?

Nálunk Ön az első
Az Ön elképzelései és a mi kreativitásunk illetve szaktudásunk a garancia arra, hogy honlapja vagy grafikai megjelenése olyan legyen amilyenre mindig is vágyott.

Több éves tapasztalat
Cégünk munkatársai több mint kilenc éve foglalkoznak webfejlesztéssel, informatikával és szerverüzemeltetéssel, ezen idő alatt mindenre felkészültünk!

Verhetetlen minőség
Munkánkban nem ismerünk kompromisszumot! Mindig a legmagasabb minőségre törekszünk. A magunkkal szemben támasztott maximalizmus és a legújabb technológiák használata garantálja, ügyfeleink elégedettségét.

Gyorsaság és megbízhatóság
Nálunk nem kell heteket várni, hiszen honlapja akár öt munkanapon belül is elkészülhet a szerződés aláírásától, de a gyorsaság soha nem megy a minőség rovására!

Csatlakozzon Facebook-on

Sablon ajánlatunk

Sablon ajánlatunk

Az oldalt a Total Studio Kft. üzemelteti. Minden jog fenntartva.
Honlapkészítés, tárhely, domain, banner, webdesign, grafika