A checkValue jelenleg ezt csinálja:
- Létrehozza a my_temp_var változót érték nélkül.
- Meghívja a $.ajax függvényt, ami beállítja, hogy ha megérkezik a válasz, lefusson a success.
- Visszaadja a my_temp_var változót. Mivel még nem érkezett válasz a szervertől, így az értéke nem lett módosítva, a változó továbbra is üres.
Elsőnek küld el az adatokat, várd meg, amíg visszaérkezik a válasz, és csak azután irasd ki, hogy jó vagy rossz az e-mail cím.
Én így építek fel egy form ellenőrzést:
Kód:
var hiba mutat = function
$("#hibadoboz").html(szöveg).show()
if (Ki van-e töltve a mező, formailag helyes-e az e-mail (regex), és a form többi elemének ellenőrzése)
hiba mutat( ... );
else A JS nem talált hibát, jöhet a szerver oldali ellenőrzés
{
$.post("ellenörzés.php", $("form").serialize(), function(data)
{
A data értéke most "Foglalt email cím"
if (data != "1")
hiba mutat(data);
});
}
A JSON használata röviden a következő:
Szerver oldali:
Kód:
header("Content-Type: application/json");
echo json_encode(array("egy" => 1, "hat" => 6))
A jquery alapból feldolgozva adja vissza az adatokat, hogyha a Content Type "application/json"-ra van állítva. Ez után a JS-ből el tudod érni a "6"-ot a data.hat meghívásával. Ugyan úgy működik, mint egy rendes JS objektum.
A JSON-nak csak akkor van értelme, ha egyszerre több adatot is akarsz küldeni. Pl. az összes hibát, amit a szerver oldalon találtál, belerakod egy tömbbe, és a JS ezeket sorba kilistázza. Az első példámban nem így csináltam.
Könyvjelzők