Я пробовал поиск, но это возвращает результаты только того, как AJAX загружает страницу/форму. Что я делаю, это загрузка формы через AJAX (контактный формуляр 7), и я хотел бы знать, как повторно включить отправку AJAX в эту форму. Возможно ли это с CF7?Включение AJAX в контактной форме 7 Форма после загрузки AJAX
ответ
Форма контакта 7 вызывает функцию init, выполняемую при загрузке страницы. Если ваша форма загружается с использованием AJAX, вы должны убедиться, что функция вызывается после загрузки вашей формы.
Посмотрите на:
plugins/contact-form-7/includes/js/scripts.js
для определения функции wpcf7InitForm
.
Редактировать: Вызов этой функции каждый раз вводит новый логотип загрузки. К сожалению, я не мог найти лучшее решение, чем удаление дубликатов загрузчика из DOM с помощью JQuery:
function initContactForm() {
jQuery('div.wpcf7 > form').wpcf7InitForm();
jQuery('form.wpcf7-form')
.each(function() {
$j(this).find('img.ajax-loader').last().remove();
});
}
Я потратил последние три часа на то, чтобы найти решение, и я только нашел вопросы без ответа, но я думаю, что нашел решение и надеюсь, что это поможет вам и другим людям с этой проблемой.
В моем случае я пытался внедрить форму CF7 в встроенный лайтбокс с PrettyPhoto (но я думаю, что это то же самое с другими, как Fancybox). Моя проблема заключалась в том, что эти встроенные лайтбоксы работают, создавая контент внутри лайтбокса через AJAX, а сценарии CF7 загружаются до этого содержимого, поэтому отправка формы AJAX не работает.
Что я делал, так это получение сценариев CF7 через jQuery.get в событии, инициированном при открытии лайтбокса prettyphoto. В вашем случае, я думаю, что вы должны сделать это только после генерации контента через AJAX, что-то вроде:
jQuery.get("/wp-content/plugins/contact-form-7/includes/js/jquery.form.min.js?ver=3.51.0-2014.06.20");
jQuery.get("/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=4.1.1");
Убедитесь, что ваши пути и версии совпадают, в противном случае их изменения.
Это обновит форму и снова включит AJAX submit.
Надеюсь, это поможет!
это поведение изменилось с версии 4.8 wpcf7. С тех пор вызов будет
wpcf7.initForm(jQuery('.wpcf7-form'));
пока она больше не требует JQuery, вы можете также передать узел .. somehting как это (способный многообразных форм ..)
var wpcf7_form = document.getElementsByClassName('wpcf7-form');
[].forEach.call(wpcf7_form, function(form) {
wpcf7.initForm(form);
});
это все еще написанный в jQuery, но он не должен быть активным (т.е. jQuery.ready()) в вашей функции для работы. плюс он избавился от jQuery.form
Спасибо, это ответ для последних версий WPCF7 – user1049961
- 1. Ошибка Ajax в контактной форме
- 2. Форма Ajax в форме ajax
- 3. Как применить AJAX для определенного поля в контактной форме 7?
- 4. Как использовать ajax в контактной форме
- 5. AJAX не работает в моей контактной форме
- 6. Форма загрузки Ajax
- 7. проверка ошибок на AJAX контактной форме
- 8. Вопрос о контактной форме с использованием Ajax
- 9. Загрузите индикатор выполнения в контактной форме 7
- 10. Добавление нескольких файлов в контактной форме 7
- 11. JavaScript в контактной форме 7
- 12. добавление divs в контактной форме 7 форма теги
- 13. Форма связи 7 ajax callback не работает
- 14. Переключение начальной загрузки модальный после Ajax контактной нагрузки
- 15. Проверка на клике в контактной форме 7
- 16. Создать уникальный код/ID В контактной форме? PHP/Ajax
- 17. Активация контактной формы Ajax
- 18. Заполнение полей после загрузки ajax
- 19. Ajax форма загрузки загрузки новой страницы
- 20. Форма Ajax в форме без макета
- 21. javascript после загрузки ajax
- 22. Как автоматически добавить USD после ввода в контактной форме 7
- 23. Как перенаправить после отправки формы в контактной форме 7?
- 24. Предотвращение загрузки css из контактной формы 7
- 25. Форма PHP не будет отправлена после загрузки через Ajax
- 26. выровнять поля ввода в контактной форме 7
- 27. Стилизация флажков в контактной форме 7
- 28. Wordpress captcha в контактной форме 7?
- 29. Подтвердить флажки в контактной форме 7
- 30. Контактная форма 7 отслеживание цели ajax
Хорошая работа. Для тех, кого это интересует, это также устранило мою проблему, вызвав функцию wpcf7InitForm() после загрузки ajax ('$ ('div.wpcf7> form'). Wpcf7InitForm();'). – kevin
Удивительный, именно то, что я искал! – J82
Я пробовал это решение, и это вроде как работы. Я говорю, так как вам нужно: a) вызвать его каждый раз, когда вы закрываете, затем открыть всплывающее окно и b) каждый вызов вставляет новый логотип загрузки – Andrija