तो एक ऐसा फॉर्म है जिसे मैं केवल तभी जमा करना चाहता हूं जब AJAX का उपयोग कर डेटाबेस से एक शर्त सत्यापित की जाती है। यदि स्थिति सत्य है तो मैं preventDefault()
विधि का उपयोग कर रहा हूं यानी यदि कोई उपयोगकर्ता निवासी नहीं है, तो ajax successs function
और preventDefault()
में एक वैरिएबल सत्य पर सेट किया गया है, हालांकि, ऐसा करने पर, फ़ॉर्म हमेशा सबमिट करता है। यह AJAX को गलत पर सेट होने पर भी AJAX को समाप्त करने की प्रतीक्षा नहीं करता है। यहां कोड है।सबमिट करने से पहले AJAX को समाप्त करने के लिए फ़ॉर्म का इंतजार कैसे करें?
$('#button').click(function(e) {
if ($('#ca_resident').prop('checked') == true) {
amount=$('#user-amount').val().replace(/[,]/g,"");
project_name=$('#project_name').val();
var not_resident = false;
$.ajax({
url: '/main/verify_residence/',
type: 'POST',
aysnc: false,
data: {
value: amount,
name: project_name
},
success: function(data){
$("#verify_residence").html(data);
not_resident = true;
},
dataType: 'html'
});
}
if(not_resident){
e.preventDefault();
}
});
'ajax कॉल करने से पहले और पर डिफ़ॉल्ट रोकने ajax.success' आप कर सकते हैं तो' form.submit() ' – Vogel612
कोशिश वापसी असत्य; e.preventDeafult() के बजाय। –
@ Vogel612 मैंने पहले ऐसा करने की कोशिश की। यह किसी भी स्थिति में जमा करने से फ़ॉर्म को रोकता है। फॉर्म को तब प्रस्तुत करना चाहिए जब कोई उपयोगकर्ता रेजीडेंसी चेक – user2488801