Ajax, JS visszatérési érték
Sziasztok!
Kérnék egy kis segítséget. A probléma annyi, hogy nem tudom hogyan tudnék visszatérési értéket adni a "Vizsgal()" függvénynek, a "Kesz()" függvény visszatérési értéke alapján. Pl.: ha a "Kesz()" true -val tér vissza akkor a "Vizsgal()" is true -val térjen vissza.Előre is köszi a segítséget.
■ Kérnék egy kis segítséget. A probléma annyi, hogy nem tudom hogyan tudnék visszatérési értéket adni a "Vizsgal()" függvénynek, a "Kesz()" függvény visszatérési értéke alapján. Pl.: ha a "Kesz()" true -val tér vissza akkor a "Vizsgal()" is true -val térjen vissza.
<script type="text/javascript">
var req2;
var url = "teszt/";
if(window.XMLHttpRequest)
{
req2 = new XMLHttpRequest();
}else{
req2 = new ActiveXObject("Microsoft.XMLHTTP");
}
function Vizsgal(){
req2.onreadystatechange = Kesz;
req2.open("GET",url+"ellenor.php",true);
req2.send(null);
}
function Kesz(){
if (req2.readyState == 4 || req2.readyState == 'complete') {
//alert(req2.responseText); //itt kiírja amit az ellenor.php küld neki
if(req2.responseText == 'ok'){return true;}
else if(req2.responseText == 'no'){return false;}
}
}
</script>
Sehogy
Kesz
és aVizsgal
függvényeknek semmi közük egymáshoz, mivel aKesz
függvényt egy esemény váltja ki, amikorra aVizsgal
már régen visszatért. Valami másfajta logikát keress az ellenőrzésre. Mondjuk ha formról van szó, akkor eleve állítsd meg a submit-ot, és aKesz
függvényben küldd el ténylegesen.Így lehetetlen. A Vizsgal()
Ha azt akarod, hogy a Vizsgal() meg tudja mondani, hogy sikeres volt-e a kérés, akkor szinkron kapcsolatot használj, ne aszinkront.
Igen, formot ellenőriznék
<form method='post' action='feldolgoz.php' onSubmit='return Vizsgal()'>
...
</form>
Tudnátok esetleg hasonló jellegű példakóddal segíteni, mert sajnos még nem igazán vagyok ebben a témában otthon.
function Vizsgal() {
Köszi
Nagyon szépen köszönöm a segítséget.