2010-06-13 13 views
9

साथ मैं यहाँ निषेध पर इस सीमाओं जानते हैं, और के साथ "आप ऐसा करते हैं कभी नहीं करना चाहिए" जवाब न दें, आदिचेतावनी पर उपयोगकर्ताओं को ब्राउज़र मारा वापस बटन - अच्छा कारण

मैं एक बहुत ही है एक विज़ार्ड में लंबा रूप, और कुछ उपयोगकर्ताओं का उपयोग ब्राउज़र के पीछे और आगे बटन का उपयोग करने के लिए भी किया जाता है, जो वे फॉर्म विज़ार्ड पर "बैक" और "अगला" बटन के बजाय उन का उपयोग करते हैं। यदि वे ब्राउज़र के बैक बटन पर हिट करते हैं, तो वे अपने सभी फॉर्म डेटा खो देंगे (जो कि गधे में दर्द है, क्योंकि फॉर्म इतना लंबा है)।

क्या यह एक चेतावनी प्रदर्शित करना संभव है कि "मुझे यहां से बाहर निकालें" बटन और "रद्द करें" बटन कब होगा, इसलिए यदि वे रद्द करते हैं तो यह बैक बटन के फ़ंक्शन को रद्द कर देगा?

+2

मुझे यकीन नहीं है कि यह एक "ऐसा कभी नहीं करें" नियम है जिसे आप तोड़ रहे हैं। Stackoverflow मुझे अलर्ट करता है जब मैं किसी ऐसे पृष्ठ से दूर नेविगेट करने का प्रयास करता हूं जिसे मैंने सहेजे नहीं हैं, और जीमेल, और मेरा बैंक इत्यादि। और मैं हमेशा आभारी हूं कि उनके पास है। मैंने मल्टी-पेज फॉर्म डेटा को पीछे और आगे ब्राउज़र क्रियाओं पर भी देखा है, लेकिन मैं नीचे सरफ्राज़ की चेतावनी से संतुष्ट हूं। – msw

उत्तर

8

आप onbeforeunload घटना से एक संदेश देना चाहिए, इस तरह:

window.onbeforeunload = function() { 
    return "Leaving this page will reset the wizard"; 
}; 

ध्यान दें कि यह ईवेंट सक्रिय करेगा जब उपयोगकर्ता किसी भी कारण के लिए पेज छोड़ देता है, अपने विज़ार्ड पूर्ण होने के बाद भी।
विज़ार्ड समाप्त होने पर और एक संदेश वापस नहीं करने पर आपको ध्वज सेट करना चाहिए।

+0

window.onbeforeunload = function() { वापसी "इस पृष्ठ को छोड़कर विज़ार्ड रीसेट हो जाएगा"; }; काफी अच्छी तरह से काम किया। हालांकि मैं jQuery सिंटैक्स पसंद करता हूं, लेकिन मुझे सरफराज अहमद का कोड रद्द करने और ठीक बटन दिखाने के लिए नहीं मिला। धन्यवाद SLKS –

+0

विज़ार्ड समाप्त होने पर आप ध्वज कैसे सेट करते हैं? निश्चित रूप से इसकी ज़रूरत है! –

+0

यह निर्भर करता है। आपका जादूगर कैसे समाप्त होता है? वैश्विक 'var isWizardFinished = false;' बनाओ, फिर विज़ार्ड समाप्त होने पर इसे 'सत्य' पर सेट करें। – SLaks

1

आप इस "जादूगर"

http://benalman.com/projects/jquery-bbq-plugin/

भर में इसे और अधिक seemless संक्रमण बनाने के लिए अगले/पिछले बटन की कार्यक्षमता के पुनर्लेखन के लिए jQuery बीबीक्यू प्लगइन का उपयोग कर सकते हैं हालांकि यह सेटअप करने के लिए एक सा जटिल है यदि आप एक ही कार्यक्षमता की तलाश में हैं तो प्रदान किए गए उदाहरणों पर नज़र डालें।

संभावना है कि आपको शायद अपने कोड को समायोजित करने के लिए रिफैक्टर करना होगा, और इसमें घंटों लगेंगे।

संबंधित मुद्दे