2016-02-02 5 views
2

Я работаю на сайте Wordpress с плагином Contact Form 7. Когда кто-то нажимает на кнопку (триггер), контактная форма 7 открывается в всплывающем окне prettyPhoto. После нажатия кнопки «Отправить» всплывающее окно автоматически закрывается. Если при отправке формы есть некоторые ошибки, отправитель не видит ошибок, потому что всплывающее окно автоматически закрывается из-за обновления страницы.Контактная форма 7 submit без обновления страницы

Есть ли способ остановить закрытие всплывающего окна или остановить обновление страницы и всплывающее окно оставаться открытым после отправки формы, чтобы пользователь мог видеть ответ/ошибки формы?

ответ

2

РЕШЕНИЕ: Наконец-то я получил его. Обычно, когда мы используем Contact Form 7 на веб-страницах, функция инициализации формы ajax выполняется при загрузке страницы. В этом случае я должен использовать короткий код cf7 во всплывающем окне, поэтому форма html будет отображаться во всплывающем окне после щелчка по ссылке. (скрипты инициализации были загружены, но не инициализировали форму для ajax, потому что на этой странице не было формы). Решение - загрузить javascript-файлы cf7 и вызвать $ ('form'). Wpcf7InitForm(); функция после отображения формы.

\t $(".fancybox").fancybox({ 
 
\t \t 'padding'  : 0, 
 
\t \t 'maxWidth' \t \t : 660, 
 
\t \t 'autoHeight' : true, 
 
\t \t afterLoad: function() { \t 
 
\t \t \t $.getScript('http://domain.com/wp-content/plugins/contact-form-7/includes/js/jquery.form.min.js'); 
 
\t \t \t $.getScript('http://domain.com/wp-content/plugins/contact-form-7/includes/js/scripts.js'); 
 
\t \t \t $('form').wpcf7InitForm(); // Initialize form for AJAX 
 
\t \t \t $.fancybox.update(); 
 
\t \t \t return; 
 
\t \t }, 
 
\t }); \t

+0

ли вы решить эту проблему с официальным плагином prettyPhoto? Я не могу найти функцию под названием «fancybox» или что-то, где я могу установить событие afterLoad. – jannnik

+0

Я получаю Uncaught TypeError: $ (...). Wpcf7InitForm не является функцией –

+0

@LaurenceCope гарантирует, что функция будет вызвана после загрузки вашей формы. 1- загрузить форму 2- загрузить плагины сценариев/contact-form-7/includes/js/scripts.js 3- вызов функции wpcf7InitForm() –

 Смежные вопросы

  • Нет связанных вопросов^_^