मैंने अलर्टिफ़ाई के साथ अपना कोड थोड़ा छोटा और संशोधित करने का निर्णय लिया। मेरे पुराने कोड:अलर्टिफ़ पुष्टि से पहले निष्पादित कर रहा है?
<script type="text/javascript">
$('.ask').click(function(){
var answer = confirm('<?php echo $this->translate('Delete route?'); ?>');
return answer;
});
जब मैं प्रेस ठीक एक PHP स्क्रिप्ट चलाता है और रिकॉर्ड को हटाता है। जावास्क्रिप्ट सही या गलत लौटता है।
अलर्टिफ़ाई के साथ मेरी समस्या यह है कि मैं ठीक से दबा या रद्द नहीं कर सकता, मेरी PHP स्क्रिप्ट इससे पहले चलता है। यहां कोड है:
$(".ask").click(function(event){
alertify.confirm("Are you sure you want to commit your reservation?", function (e) {
if (e) {
return true;
} else {
return false;
}
});
});
मैं इसी तरह की समस्याओं के साथ कुछ लोगों को देखा और मैंने देखा कि मैं चूक (यह समझ में आता है) कोड को रोकने के उपयोग करने की आवश्यकता:
$(".ask").click(function(event){
event.preventDefault(); // cancel submit
alertify.confirm("Are you sure you want to commit your reservation?", function (e) {
if (e) {
return true; // submit form skipping jQuery bound handler
} else {
}
});
});
उस स्थिति में php स्क्रिप्ट ठीक नहीं है इससे पहले कि मैं ठीक/रद्द दबाता हूं लेकिन जब मैं बटनों में से किसी एक को दबाता हूं तो यह भी नहीं चलता है। कुछ नहीं हुआ। कोई मदद कृपया?
+1 लेकिन अन्य तरीके के रूप में - कॉलबैक फ़ंक्शन के बजाय - आप उपयोग कर सकते हैं '$ .Deferred()'। – Regent
यहां काम नहीं करेगा चेक फॉर्म सबमिट करने के लिए इंतजार नहीं करेगा या रद्द करें http://jsfiddle.net/6zNaP/36/ – user3819192
मान लीजिए कि '.ask' एक फॉर्म सबमिट बटन है, जिसे वास्तव में कहीं भी निर्दिष्ट नहीं किया गया है, बस इसे सामान्य, गैर-सबमिट करने वाले बटन में बदलें। इसके बाद डिफ़ॉल्ट कार्रवाई को रोकने की कोई ज़रूरत नहीं है, जो बदले में अन्य अवांछित मुद्दों की ओर ले जा सकती है क्योंकि पृष्ठ में अधिक जटिलता पेश की जाती है। –