2015-01-06 10 views
27

थोड़ी देर के लिए इस पर चारों ओर खोज कर रहा था और मैं जो हासिल करना चाहता हूं उसे रेखांकित करने के लिए किसी दस्तावेज़ के साथ नहीं आ सकता।संपर्क फ़ॉर्म 7 AJAX कॉलबैक

मैं वर्डप्रेस और संपर्क फ़ॉर्म 7 प्लगइन का उपयोग कर रहा हूं, सब कुछ पूरी तरह से काम कर रहा है, मैं जो हासिल करना चाहता हूं वह है सबमिट करने पर कुछ विशेष जावास्क्रिप्ट चलाने के लिए, मुझे पता है कि हम अतिरिक्त सेटिंग्स में "on_sent_ok:" का उपयोग कर सकते हैं, लेकिन यह केवल तभी निष्पादित करता है जब फ़ॉर्म वास्तव में सबमिट किया गया हो।

मैं कुछ अन्य जावास्क्रिप्ट करना चाहता हूं, जब फॉर्म ठीक से सबमिट नहीं होता है, जो उपयोगकर्ता को उस अनुभाग में वापस फेंकता है जो मान्य नहीं था।

मैं प्रपत्र सबमिट होने के 1.7 के बाद चलाने के लिए निम्न कोड का उपयोग कर सकता हूं, हालांकि यह थोड़ा धीमा है जैसे कि उपयोगकर्ता धीमे कनेक्शन के साथ चल रहा था, फॉर्म को ठीक से सबमिट करने से पहले यह संभव हो सकता है।

$('.wpcf7-submit').click(function() { 
setTimeout(function() { 
    if ($('.fs1 input,.fs1 textarea').hasClass('wpcf7-not-valid')) { 
     $('.pop-up-form').removeClass('pustep2').removeClass('pu-closing'); 
     $('.form-step').hide(); 
     $('.fs1').show(); 

    } 
    if ($('.fs2 *').hasClass('wpcf7-not-valid')) { 
     alert('error on page 2 - take user back to the area with issues') 
    } 
}, 1700); 
}); 

कोई विशेष समारोह या हुक मैं जे एस को चलाने के लिए जब प्रपत्र AJAX के पूरा कर लिया है का उपयोग कर सकते है?

धन्यवाद!

+0

हाय - बस एक ध्यान दें कि स्वीकार किए जाते हैं जवाब नहीं रह गया काम कर समाधान है, अगर आपको लगता है कि नए आगंतुकों –

उत्तर

48

संस्करण में 3.3 नई jQuery कस्टम ईवेंट ट्रिगर शुरू किए गए थे:

नई: 5 नए jQuery कस्टम घटना का परिचय चलाता है

  • wpcf7: अवैध
  • wpcf7: स्पैम
  • wpcf7: mailsent
  • wpcf7: mailfailed
  • wpcf7: प्रस्तुत

आप नीचे दिए गए उदाहरण की तरह wpcf7:invalid उपयोग कर सकते हैं:

$(".wpcf7").on('wpcf7:invalid', function(event){ 
    // Your code here 
}); 
+7

काश इस में किया गया था के लिए मददगार होगा इसे बदलने के लिए कर रहे हैं केवल चेंजलोग की बजाय उचित दस्तावेज़ीकरण। मैंने अतीत में थोड़ी देर के लिए अपने सिर को खरोंच कर दिया! – rnevius

+0

धन्यवाद Vicente! मैं भी कुछ समय के लिए इस पर अपने सिर खरोंच कर रहा हूँ! जैसे ही मैं अपनी मशीन पर वापस आउंगा और इसे सही के रूप में चिह्नित करूँगा :) –

+1

@rnevius मैं सहमत हूं, इसके बारे में प्रलेखन बहुत सीमित है। – vicente

2

कभी कभी यह काम कर सकते हैं नहीं, के रूप में Martin Klasson ने कहा, केवल 'प्रस्तुत' घटना काम करता है, सबसे संभावित है क्योंकि यह शुरू हो रहा है किसी वस्तु और बुलबुले द्वारा चयनित वस्तु तक। के रूप में भी मैं समझ सकता है, अब घटनाओं "invalid.wpcf7", "mailsent.wpcf7", आदि संक्षेप में जैसे अन्य नामों, है, यह काम करना चाहिए:

jQuery('.wpcf7').on('invalid.wpcf7', function(e) { 
    // your code here 
}); 

अधिक विस्तृत विवरण यहाँ: How to add additional settings on error in Contact form 7?

+0

अभी भी मेरे लिए कुछ भी नहीं; इनमें से कोई भी घटना काम नहीं कर रही है (और मुझे उनके लिए कोई उचित दस्तावेज नहीं मिल रहा है ...) –

4

इस विषय पर विभिन्न प्रकार के प्रतिक्रियाओं को देखते हुए प्लगइन डेवलपर अपने दिमाग को बदलता है कि यह हर 5 मिनट में कैसे काम करना चाहिए।

document.addEventListener('wpcf7mailsent', function(event) { 
    alert("Fire!"); 
}, false); 

और वैध घटनाओं हैं:: वर्तमान में (क्यू 1 2017) इस काम के विधि है

  • wpcf7invalid - आग एक अजाक्स फ़ॉर्म जमा सफलतापूर्वक पूरा कर लिया है जब, लेकिन मेल नहीं है भेजा गया है क्योंकि अमान्य इनपुट वाले फ़ील्ड हैं।
  • wpcf7spam - आग जब एक अजाक्स फ़ॉर्म जमा सफलतापूर्वक पूरा कर लिया है, लेकिन क्योंकि एक संभव स्पैम गतिविधि का पता चला है मेल नहीं भेजा गया है।
  • wpcf7mailsent - जब आग लगती है तो अजाक्स फॉर्म सबमिशन सफलतापूर्वक पूरा हो गया है, और मेल भेज दिया गया है।
  • wpcf7mailfailed - जब एक अजाक्स फॉर्म सबमिशन सफलतापूर्वक पूरा हो गया है, तो यह मेल भेजता है, लेकिन यह मेल भेजने में विफल रहा है।
  • wpcf7submit - आग जब अजाक्स फॉर्म सबमिशन सफलतापूर्वक पूरा हो गया है, भले ही अन्य घटनाओं के बावजूद।

सॉस: https://contactform7.com/dom-events/

+0

बस अगर कोई इस जवाब पर उतरता है ... मेरे पास 'wp_footer()' फ़ंक्शन नहीं था जिसे इन घटनाओं को रोका गया था फायरिंग से। सरल निरीक्षण, लेकिन यह आपकी थीम में जांचने में मदद कर सकता है! – RCNeil

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