2015-05-07 4 views
0

пытался связать некоторые события с контактной формой 7 для Wordpress, но событие так и не было вызвано. исх (Contact Form 7 AJAX Callback)Форма связи 7 ajax callback не работает

Вот мой привязки:

$('.wpcf7').on('invalid.wpcf7 spam.wpcf7 mailsent.wpcf7 mailfailed.wpcf7 submit.wpcf7'), function() { 
    sb[9].tinyscrollbar_update('relative'); 
    console.log('invalid'); 
} 

console.log никогда не называли. Я привязываю все события к тестированию, или я привязываю это неправильно?

+0

'$ (». Wpcf7 ') на (' invalid.wpcf7 spam.wpcf7 mailsent.wpcf7 mailfailed.wpcf7 submit.wpcf7' , функция() { С.Б. [9] .tinyscrollbar_update ('relative'); console.log ('invalid'); }); 'Это работает для вас? –

+0

$ ('. Wpcf7'). On ('invalid.wpcf7 spam.wpcf7 mailsent.wpcf7 mailfailed.wpcf7 submit.wpcf7', function() { console.log ('invalid'); sb [9] .tinyscrollbar_update ('relative'); }); –

+0

Ах, правильно. Некоторые опечатки есть. Спасибо, парни. Теперь работает. – resting

ответ

0

Событие не связано с элементом wpcf7, а скорее с самим документом.

$(document).on('mailsent.wpcf7', function(event) { 
    console.log(event) 
}) 

Edit: после того, как глядя на верхний ответ от вашей ссылки это может быть, но выше, так что я получил его, и он работает нормально для меня.

Редактирование 2: похоже, что события в связанном верхнем ответе - это разные события, которые могут быть перенесены из контейнера формы, а те, которые вы пытаетесь использовать, выглядят как те, которые связаны с документом.

1

Это работает для меня:.

jQuery(document).on('wpcf7:submit', function() { 
     jQuery('#formAlerts').modal(); 
    }); 

    jQuery(document).ajaxComplete(function(event,request, settings) { 

     var alertMessage = $(".wpcf7-response-output").html(); 
     jQuery(document).find("#formResponse").html(alertMessage); 

     function sample() { 
      if(jQuery('.wpcf7-form.invalid').length > 0){ 

     }else{ 
      jQuery('#formAlerts').modal('hide'); 
     } 
     } 

     setTimeout(sample, 2000); 

    });