Mein Code ist unten. Ich möchte, dass das Formular übermittelt wird, bis die Ajax-Funktion beendet ist. Auf diese Weise kann die submit
Variable richtig eingestellt werden. Aber submit
hat immer den Standardwert false
Wert. Wie bekomme ich das Formular zu warten, bis der Ajax-Aufruf abgeschlossen ist und die submit
Variable einen neuen Wert erhält?Wie man das Senden eines Formulars stoppt, bis eine Ajax-Funktion, die von onSubmit aufgerufen wurde, beendet wurde
$("#CreateCandidateForm").on('submit', function (event) {
var theFirstName = $("#FirstName").val();
var theLastName = $("#LastName").val();
var submit = false;
$.ajax({
type: "POST",
url: "CreateSearch", // the method we are calling
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ firstName: theFirstName, lastName: theLastName }),
dataType: "json",
success: function (result) {
if (result == false) {
submit = true;
}
},
error: function (exception) {
event.preventDefault();
console.log(exception);
alert('Exception: ' + exception);
}
});
return submit;
});
Sie haben async zu verwenden: true, wenn make Ajax-Aufruf –
Run Ajax Beitrag zuerst, wenn Resultat ist '$ ('# yourFormId') einreichen();' kann Ihr Problem lösen.. – Berkay
Das hat nicht funktioniert –