Ich habe ein anderes Projekt übernommen und versucht, die Dinge herauszufinden, da ich neu bei JS bin.Überprüfen Sie die Gültigkeitsprüfung, bevor Sie mit AJAX fortfahren.
Ich brauche die AJAX-Anforderung, die aufgerufen wird, wenn die Schaltfläche geklickt wird, aber auch wenn die Validierung wahr ist, dann auf die Antwort aus dem Dialogfeld warten und abbrechen, wenn 'Nein' ausgewählt wurde, und weiter, wenn 'Ja' ausgewählt ist .
Im Moment geht es weiter mit dem AJAX-Post und zeigt den Dialog zur selben Zeit an, als ich mit vorSenden versuchte.
Jede Art von Richtung wäre eine große Hilfe.
Dank
$('#button').on('click', function() {
var startdate = moment(year + "-" + month + "-" + day,'YYYY-MM-DD').format('YYYY-MM-DD');
var lastActionLogEffectiveDt = $('#lastActionLogEffectiveDate').val();
var lastActionLogEffectiveDate = moment(lastActionLogEffectiveDt).format("YYYY-MM-DD");
$.ajax({
url: myUrl,
type: "POST",
beforeSend : function(xhr){
if(startdate <= lastActionLogEffectiveDate) {
tools.helpers.confirm({title:'Warning', message:'</p><p>Are you sure you want to continue?</p>', buttons:{yes:1, no:1}, type:'warning'}).then(
function(answer) {
if(answer == 'no') {
xhr.abort();
}
});
}
},
}).done(function(resp) {
if(!resp) {
reloadPage();
}
else
{
validationUtil.removeAllErrorsFromPage();
validationUtil.populateErrorPane(resp);
}
}).fail(function() {
validationUtil.removeAllErrorsFromPage();
validationUtil.populateErrorPane("Error processing payment actions, please try again.");
})
return false;
});
nach der [jQuery API] (http://api.jquery.com/jquery.ajax/), die Anfrage beforeSend abzubrechen sollte false zurück. Du machst das nicht. – andrewf
Sie können eine if-Anweisung vor dem Ajax-Aufruf verwenden, um zu prüfen, ob der Benutzer 'Ja' ausgewählt hat und nur dann den Ajax-Anruf tätigt, andernfalls nicht. – Yatin