2016-06-10 51 views
0

**更新** 對,我一直在玩一下,我注意到form .wpcf7-form得到一個類invalid當一些領域缺失。所以我想要的是當類無效添加一個警報將彈出。這是到目前爲止我的代碼:聯繫表7彈出0123驗證錯誤

$(document).ready(function(){ 

    $('form.wpcf7-form').click(function(){  
     if ($(this).hasClass('invalid')) { 
      alert('Error Mess.'); 
     } 
    }); 
} 

現在唯一的問題是,我已經得到了錯誤:

13:17:24.023 SyntaxError: expected expression, got ')'

這哪裏是失蹤了?

我一直在試圖讓這個工作一段時間了。我希望在彈出窗口中顯示聯繫表單7的驗證錯誤。爲什麼,因爲按鈕下方的驗證錯誤會破壞我的頁面樣式。

我試圖用CSS定位驗證錯誤,這種工作。但是,錯誤不斷顯示在聯繫表單上,並且無法將其排除在外(點擊或以其他方式)。

我知道您可以放置​​其他信息,如javascript (on_send_ok:"alert(Your message)"但是,驗證錯誤使用了什麼值?

我也知道這個「問題」有一些插件,但其中大多數都沒有超過2年的支持,我想盡可能避免使用插件。

謝謝。

+0

缺少關閉$(document).ready(function(){......'});'not'}' –

+0

Thanks @AnkurBhadania!那擺脫了錯誤。但是這個代碼可悲地不起作用。有什麼想法? – Steggie

回答

0

你可以做到這一點使用聯繫表稱爲「wpcf7submit」提供7

的DOM事件之一「wpcf7submit - 當觸發一個Ajax表單提交已成功完成,不管其他事件」

此事件也會在發生驗證錯誤時觸發。

例如,如果你想顯示其具有ID「txt_name」的必填欄彈出,將添加該代碼在主題functions.php文件:

<?php 
function conactform_validation_error_popup() { 
?> 
    <script type="text/javascript"> 
     document.addEventListener('wpcf7submit', function(event) { 
      if ('4' == event.detail.contactFormId) { // your contact form ID 
       if(event.detail.status = 'validation_failed'){ // if validation fails 
        var invFields = event.detail.apiResponse.invalidFields; 
        jQuery.each(invFields, function(key, obje){ 
         if(obje.idref == 'txt_name'){ 
          alert('Please add a name.'); 
         } 
        }); 
       } 
      } 
     }, false); 
    </script> 
<?php 
} 
add_action('wp_footer', 'conactform_validation_error_popup'); 
?> 

以下圖片解釋它是如何工作的。

Steps shown in code

Steps shown in result JSON

希望這有助於。