Return false la onsubmit cu ajax
Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
-
andras
- Mesaje: 430
Return false la onsubmit cu ajax
Salut,
Cum pun return false; ca rezultat al unui ajax? Am un <form onsubmit="return existaanluna('."'".$tabela."'".')"> iar in functia respectiva am pus ajax (simplificat):
Cod: Selectaţi tot
<script>
success : function(msg) { // msg este rezultatul verificarii in BD. Daca lungimea msg>0 trebuie return false
if (msg.length>0) {
alert(msg);
return false;
}
}
</script>
dar nu functioneaza corect, afiseaza alert dar face si submit, nu ia in considerare retun false. Multumesc.
MarPlo
Mesaje: 4343
Salut
Return false adaugat la "success" in ajax nu are efect deoarece codul de la "success" se executa cu intarziere, dupa ce e primit si procesat raspunsul de la server. Pana atunci, nu exista "return false", prin urmare javascript continua codul ca si cum nu e nici un "false".
Incearca sa pui "return false" direct in functia ta ajax, dupa "succeess", cam asa:
Cod: Selectaţi tot
function existaanluna(param){
//codul tau pt ajax..
success : function(msg){
alert(msg);
}
return false;
}
andras
Mesaje: 430
Oriunde o pun in alta parte fie imi da eroare si functia ajax nu se executa, fie returneaza tot timpul false si nu face submit. Ma gindesc sa fac un artificiu, sa pun rezultatul (msg) intr-un hidden iar la iesire din functia JS sa ciesc aceasta valoare din hideen.
edit: asa functioneaza, cu artificiu in hidden. La intrarea in functia ajax initializez valoarea hidden la sir vid, iar rezultatul din ajax il pun tot in acest hidden. Multumesc oricum.
MarPlo
Mesaje: 4343
Se poate si astfel, daca gasesti ca ar fi mai simplu; sa aplici submit-ul din javascrpt /ajax.
Functia ajax sa returneze false, iar la "success" aplici submit() la acel form cand vrei.
Cod: Selectaţi tot
function existaanluna(param){
//codul tau pt ajax..
success : function(msg){
if(msg.length>0) alert(msg);
else document.getElementById('id_form').submit();
}
return false;
}
Subiecte similare
-
Post cu Ajax in modal
JavaScript - jQuery - Ajax
Primul mesaj
Bună ziua,
Vreau să trimit în aceeași pagină dar în modal două id-uri. Prin alert(id) îmi arată conținutul postului trimis dar în modal nu imi...
Ultimul mesaj
Nu prea inteleg mecanismul si ce anume nu functioneaza.
Oricum, daca functioneaza cand pui manual id-ul, poate ca problema e de la php.
Trebuie sa...
-
Ordine de executie cu jQuery-AJAX
JavaScript - jQuery - Ajax
Primul mesaj
Am acest cod (ajax este asincron):
function echoHello(){
return $.ajax({
//this will return hello ;
});
}
function echoWorld(){
return world...
Ultimul mesaj
Ajax face un apel către serverul web și este asincron. Nu știi cât va dura pana la raspuns. Este la fel ca:
setTimeout(_ => {...
-
Ajax fade mesaj si redirect dupa un timp
JavaScript - jQuery - Ajax
Primul mesaj
Am codul asta si vreau in loc de input type=button sa fie submit, dar sa imi dea fade la fel in 5 secunde de cand apare eroarea.
Daca schimb cu...
Ultimul mesaj
Am rezolvat,multumesc frumos de ajutor