2011-08-10 20 views
5

मेरे पास पुष्टि के साथ सत्यापन जावास्क्रिप्ट प्रक्रियाओं का एक समूह है। मैं jquery ui संवाद का उपयोग करना चाहता हूं, लेकिन मुझे शेष सत्यापन प्रक्रियाओं के लिए सत्य वापस करने की आवश्यकता है।जावास्क्रिप्ट की जगह पर Jquery UI संवाद

उदाहरण के लिए:

var where_to_coupon = confirm(pm_info_msg_013); 
     if (where_to_coupon== true) { 
     doSubmit=true; 
     return doSubmit; 

तो मैं एक समारोह, एक यूआई संवाद के साथ की पुष्टि की जगह संदेश स्ट्रिंग (pm_info_msg_013) निकालते हैं और अपने खुद के बटन या यूआई बटन का उपयोग करने की आवश्यकता है सत्यापन प्रक्रिया के लिए सच वापस जाने के लिए ।

यह सुनिश्चित नहीं है कि इस से कहां से शुरुआत करें।

सहायता?

उत्तर

9

jQuery UI संवाद में, modal विकल्प को सही पर सेट करें, और buttons विकल्प के साथ प्राथमिक और माध्यमिक उपयोगकर्ता क्रियाएं निर्दिष्ट करें।

$("#dialog-confirm").dialog({ 
     resizable: false, 
     height:140, 
     modal: true, 
     buttons: [{ 
      text: pm_info_msg_013, 
      click : function() {  
       $(this).dialog("close"); 
       // code related to "where_to_coupon== true" goes here 
       // submit form 
       } 
      }, { 
      text: "Cancel", 
      click: function() { 
       $(this).dialog("close"); 
       doSubmit = false; 
       // don't submit form 
      }}] 
    }); 

डेमो यहाँ देखें: http://jqueryui.com/demos/dialog/#modal-confirmation

अद्यतन: यह आपको एकाधिक पुष्टि बनाने के लिए अनुमति देगा। उपयोग:

function CreateDialog(okText, cancelText, okCallback, cancelCallback) { 
     $("#dialog-confirm").dialog({ 
      resizable: false, 
      height:140, 
      modal: true, 
      buttons: [{ 
       text: okText, 
       click : function() {  
        $(this).dialog("close"); 
        okCallback(); 
        } 
       }, { 
       text: cancelText, 
       click: function() { 
        $(this).dialog("close"); 
        cancelCallback(); 
       }}] 
      } 
     }); 

// ******* usage #1 ********  
CreateDialog(pm_info_msg_013, "Cancel", function() { 
    // where_to_coupon== true 
}, function() { 

    // where_to_coupon== false 
}); 

function OnConfirmTrue() { 
    // do something 
} 

function OnConfirmFalse() { 
    // do something 
} 

// ******* usage #2 ******** 

CreateDialog(pm_info_msg_013, "Cancel", OnConfirmTrue, OnConfirmFalse); 
+0

यह सुनिश्चित नहीं है कि मेरे जावास्क्रिप्ट पुष्टिकरण स्ट्रिंग – Jason

+0

के साथ कैसे शामिल किया जाए, आपको 'संवाद-पुष्टिकरण' div ('$ (" # संवाद-पुष्टि ") के HTML को गतिशील रूप से बदलना होगा। एचटीएमएल (pm_info_msg_013) ') उपर्युक्त कोड –

+0

पर कॉल करने से पहले मेरा अद्यतन कोड देखें। – Mrchief

1

मैंने jQuery UI के लिए एक प्लगइन बनाया है, जिसे संवादवाचक कहा जाता है, जो एक पुष्टिकरण विधि सहित कई विधियों को प्रदान करता है। आप इसे इस तरह कहते हैं:

$.confirm("Prompt", function(){}, function(){}, {}); 

दूसरे और तीसरे तर्क जब हां और ना बटन क्लिक किया जाता है कि क्या करना है, क्रमशः रहे हैं। चौथा अतिरिक्त तर्क के लिए है।

यहाँ देखें: http://code.google.com/p/dialogwrapper/

यह, देशी जावास्क्रिप्ट confirm विधि की तरह काम नहीं करता है, हालांकि, क्योंकि यह अतुल्यकालिक है। तो आप $.confirm के साथ सीधे confirm को ओवरराइट करने में सक्षम नहीं होंगे।

+0

दिलचस्प लग रहा है, लेकिन मैं न्यूनतम कोड (विशेष रूप से जावास्क्रिप्ट में) को छूने की कोशिश कर रहा हूं - तो मैं आपकी प्लगइन में सच या गलत कैसे लौटाऊंगा? – Jason

+0

आप नहीं कर सकते, क्योंकि '$ .confirm' असीमित रूप से काम करता है। यह पूरी तरह से कॉलबैक पर निर्भर करता है। बदसूरत, यूआई-अवरुद्ध कोड के बिना jQuery संवादों को सिंक्रनाइज़ करने का कोई तरीका नहीं है (उदाहरण के लिए, एक 'जबकि' लूप जो जांचता है कि कोई बटन अभी तक दबाया गया है)। –

+0

अच्छी तरह से, मुझे लगता है कि एक सच्चाई ट्रिगर करने के लिए एक तरीका (एक दूसरा समारोह) या एक ऑनक्लिक घटना होना चाहिए? – Jason

0

आप ट्रेंट रिचर्डसन द्वारा impromtu की कोशिश की?

http://trentrichardson.com/Impromptu/

यह jQuery प्लग में आप नियंत्रण आप संकेतों और पुष्टि करता है और अधिक के साथ की तलाश में हैं दे सकते हैं।

+0

कृपया, यह http://stackoverflow.com/help/deleted-answers को पढ़ने का प्रयास करें, यह समझने के लिए कि ** ** ** कैसे उत्तर दें। अर्थात्: "उत्तर जो मौलिक रूप से प्रश्न का उत्तर नहीं देते हैं": ** किसी बाहरी साइट के लिंक से मुश्किल से अधिक ** –

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