2010-05-20 10 views
5

मेरे पास निम्न कोड एक .net MVC aspx पेज ...JQuery BlockUI संदेश तुरंत प्रदर्शित नहीं करता है अवरुद्ध

//////////////////////

$ .blockUI ({message: '

प्रसंस्करण ... कृपया

'} प्रतीक्षा करें);

वर registerOk = registerNewUser(); var createUserSubscriptionOK = createUser सदस्यता();

$ .unblockUI();

\\\\\\\\\\\\

ब्लॉक संदेश बस समय 2 समारोह होना पूर्ण हो जाने के आसपास जब तक नहीं दिखाती है। दोनों कार्य फॉर्म डेटा एकत्र करते हैं तो डीबी को एसिंक कॉल करते हैं।

मैं संदेश की जरूरत तुरंत दिखाने के लिए, दोनों कार्यों आग है, तो एक बार दोनों पूरा कर रहे हैं, ui अवरोध हटा हो जाता है ...

मैं यह करने के लिए कैसे करते हैं?

किसी भी प्रतिक्रिया के लिए धन्यवाद।

उत्तर

8

हाय मैं इस के लिए एक जवाब नहीं है, लेकिन मैं सिर्फ इतना है कि मैं फ़ायरफ़ॉक्स 3.5.9 में एक ही समस्या देख रहा हूँ रिपोर्ट करने के लिए करना चाहता था।

मैं blockUI उपयोग करने के लिए एक एनिमेटेड GIF के साथ एक प्रतीक्षा संदेश दिखाने के लिए सर्वर एक फार्म के माध्यम से भेजी गई जानकारी संसाधित करता है, जबकि कोशिश कर रहा हूँ। ।

अंदर $ ("# फार्म") जमा (function() { पहले मैं फोन blockUI: $ .blockUI ({संदेश: -image यहाँ, कृपया प्रतीक्षा करें आपका अनुरोध संसाधित ... '});

तो मैं डेटा सर्वर के लिए भेजा जा करने के लिए तैयार करते हैं और उन्हें एक ajax तुल्यकालिक कॉल के साथ पोस्ट: $ .ajax ({ प्रकार: "पोस्ट", यूआरएल: '/ submitForm /' + typeName, डेटा: पोस्टडाटा + "&" + एसडीटा, कैश: झूठी, async: झूठी });

और अंत में मैं $ अनलॉक करता हूं .unblockUI();

मैंने देखा है कि यह Konqueror (केडीई 4 में) के साथ काम करता है, यह ऐनिमेटेड gif पृष्ठभूमि इसका रंग गहरा साथ प्रतीक्षा खिड़की से पता चलता है और यह अंत में गायब हो जाता है।

तो समस्या कुछ गलत कॉन्फ़िगरेशन कि उस विशेष ब्राउज़र को प्रभावित नहीं करता करने के लिए फ़ायरफ़ॉक्स से संबंधित हो सकता है, या हो सकता है।

मुझे आशा है कि इस जानकारी का पता लगाना क्या वास्तविक समस्या है में कुछ विशेषज्ञ करने के लिए उपयोगी है।

मैं किसी भी प्रतिक्रिया के लिए भी आभारी हूं।

संपादित करें:

हैलो,

अगर यह अभी भी प्रासंगिक है मैं नहीं जानता, लेकिन अंत में मैं यह काम कर लिया।समस्या यह थी कि मैं AJAX के साथ एक तुल्यकालिक कॉल कर रहा था (सबमिटफॉर्म कॉल में "async: false" बिट)। ब्लॉकयूआई को एसिंक्रोनस कॉल काम करने के लिए सोचा जाता है जैसे कि यह सिंक्रोनस था, यानी इंटरफ़ेस को अवरुद्ध करना। अगर कॉल पहले से सिंक्रोनस है तो UI को अवरुद्ध करने की कोई आवश्यकता नहीं है, क्योंकि यह सिंक्रोनस कॉल का सामान्य व्यवहार है!

तो मेरे लिए, बस "async: false" भाग को हटाकर यह काम करता है।

मुझे आशा है कि इस मदद करता है।

+0

वह मेरे लिए चाल किया :) –

6

0 fadein की स्थापना करके blockUI की async व्यवहार को नष्ट करने का प्रयास करें:!

$.blockUI({ message: $('#domMessage'), fadeIn: 0 }); 
+0

यह मेरी समस्या का समाधान हो। धन्यवाद! – Angela