मैं एक गतिशील ऑनलाइन फॉर्म वेबसाइट पर काम कर रहा हूं। मुख्य रूप में, मेरे पास कई उप-रूप हैं जिन्हें गतिशील रूप से जोड़ा और हटाया जा सकता है।शो संवाद बॉक्स से सभी AJAX कॉल की प्रतीक्षा
$('#main').on('click', '.subform_submit', function(){
// Get this subform's user input
...
$.ajax({
url: ..,
type: ..,
data: /* this subform's data */
});
});
तो उस पृष्ठ में, मैं उपयोगकर्ता के चयन के आधार पर 0 से 10 subforms हो सकता है:
<div class='subform'>
//form fields
<input ...>
...
<button class='subform_submit'>
</div>
प्रत्येक उप-प्रपत्र के लिए, मैं इस तरह उप-प्रपत्र के सबमिट बटन पर एक AJAX कॉल बाँध। मेरे पास पृष्ठ के नीचे एक मुख्य सबमिट बटन भी है, जो उन सबफॉर्म और मुख्य फ़ॉर्म के डेटा को एक साथ सबमिट कर सकता है।
$('#main').on('click', '#submit', function(e){
$('.subform_submit').click(); // Submit each subform
bootbox.confirm({ });
})
एक बार मुख्य सबमिट बटन पर क्लिक किया जाता है, मैं एक लोड हो रहा है तस्वीर दिखाने के लिए और फिर एक संवाद बॉक्स (मैं bootbox.confirm()
यहाँ का उपयोग करें) दिखाने के सभी AJAX कॉल पूर्ण नहीं करने तक करना चाहते हैं। यह संवाद बॉक्स उपयोगकर्ता को बता रहा है कि उप-रूपों सहित पूरे फॉर्म को सबमिट कर दिया गया है। लेकिन समस्या यह है कि प्रत्येक AJAX कॉल को पूरा होने में 2 सेकंड लग सकते हैं और मुझे नहीं पता कि कॉल पूर्ण होने के लंबित कैसे हो सकते हैं। मैं इस मुख्य सबमिट बटन पर लिख सकते हैं इतना है कि यह होगा:
- तुरंत लोड हो रहा है चित्र दिखाएं, और
- चित्र लोड करने हाइड एंड संवाद बॉक्स दिखाने के सभी AJAX कॉल पूरा करने के बाद?
@Lewis बेस्ट समाधान के लिए धन्यवाद:
यहाँ एक बहुत ही इसी तरह के छोटे डेमो मैं सिर्फ बना हो जाता है! – monknom