2009-07-09 13 views
8

के साथ पृष्ठ को बदलने के लिए कैसे रोकें मेरे पास एक फॉर्म है जो AJAXSubmit() के माध्यम से सबमिट होता है (इसलिए, पृष्ठ को बदले बिना)।उपयोगकर्ता को jQuery

मेरा लक्ष्य यह है कि, जब उपयोगकर्ता पृष्ठ को बदलने का प्रयास करता है (या ब्राउज़र को बंद करने के लिए भी), तो मैं उससे पूछता हूं कि वास्तव में फॉर्म भेजने के बिना पृष्ठ से बाहर निकलना चाहते हैं (बिल्कुल जीमेल करता है)।

उदाहरण के लिए जीमेल एक window.confirm-like popup के साथ ऐसा करता है, लेकिन यदि यह संभव है, तो मैं इसे कस्टम संदेशों और विकल्पों के साथ संभालना चाहता हूं।

jQuery अनलोड ईवेंट है:

$(window).unload(function() { alert("Bye now!"); }); 

लेकिन यह मेरे बस से बाहर निकलने से पहले पेज में कुछ करने की अनुमति देता है; यदि उपयोगकर्ता रिश्तेदार बटन पर क्लिक करता है, तो मुझे पृष्ठ से बाहर निकलने की आवश्यकता होती है।

तो, पृष्ठ-बाहर निकलने की घटना को कैसे संभालें (और रद्द करें)?

उत्तर

16

निम्नलिखित का प्रयास करें। डेमो here

<script type="text/javascript"> 

     function unloadPage(){ 
      return "dont leave me this way"; 
     } 

     window.onbeforeunload = unloadPage; 

</script> 
+0

हाँ, यह है! मुझे खेद है कि मैं 'अलर्ट' को कस्टमाइज़ नहीं कर सकता, लेकिन मुझे नहीं लगता कि एक बड़ी समस्या होगी। – Strae

10

यह jQuery के साथ संभव बाँध "onbeforeunload" घटना है:

$(window).bind('beforeunload', function(e) { 
    return "ATTENZIONE!!"; 
}); 

यह काम करता है !!

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