Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 05.09.2017, 16:54
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Сообщение от maxg5
Получается не правильный селектор для поиска форма задан? Какой тогда селектор задавать?
на странице действительно существует тег с классами «wpcf7-form» и «sent»?
Код выполняется запускается загрузки DOM?
Ответить с цитированием
  #12 (permalink)  
Старый 05.09.2017, 17:04
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

maxg5, не обратил внимание на ссылку в первом посту.

jQuery(function(){
	jQuery('form.wpcf7-form').submit(function(e){
		e.preventDefault();
		
		jQuery.ajax({
			type: 'POST',
			url: $ajax_url,
			data:{
				name: $name_value,
				email: $email_value,
				message: $message_value,
				subject: $subject_value,
				task: 'sendmail'
			},
			beforeSend: function(data) {
				jQuery('#submit').before('');
			},
			success: function(data) {
				jQuery('.loading').fadeOut(function() {
					jQuery(this).remove();
				}); //прячется gif-ка какая-нибудь
				
				setTimeout(function() {
					jQuery('.emodal-overlay').click();//Скрываю модальное окно
				}, 2000); // здесь закрывается модальное окно через 3 секунды
			},
			complete: function(data) {
				$form.each(function() {
					this.reset(); // или так очищается форма методом .reset()
				});
			},
		});
	});
});
Ответить с цитированием
  #13 (permalink)  
Старый 05.09.2017, 18:01
Аспирант
Отправить личное сообщение для maxg5 Посмотреть профиль Найти все сообщения от maxg5
 
Регистрация: 16.08.2016
Сообщений: 89

Nexus,
Спасибо!
Все работает. Но видимо есть какая то несовместимость ajax и WordPress.
Не пойму как решить проблему.
Окно закрывается даже если форма не была отправлена. Т.е. если есть не заполненные поля. Как мне кажется часть кода не работает.
Консоль ругается на эту строку и выдает ошибку - Uncaught ReferenceError: form is not defined:
form.each(function() {

Я прогугил, не совсем понял как решить проблему.
Ответить с цитированием
  #14 (permalink)  
Старый 05.09.2017, 18:22
Аспирант
Отправить личное сообщение для maxg5 Посмотреть профиль Найти все сообщения от maxg5
 
Регистрация: 16.08.2016
Сообщений: 89

Заменил строку:
form.each(function() {

на строку
jQuery("form").each(function() {

Ошибка исчезла из консоли.
Но окно так же закрывается если форма не было отправлена.
Ответить с цитированием
  #15 (permalink)  
Старый 06.09.2017, 09:45
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

maxg5, замените опцию, передаваемую методу ajax jQ
success:function(data){
	try{
		jQuery('.loading').fadeOut(function() {
			jQuery(this).remove();
		}); //прячется gif-ка какая-нибудь
		
		if(typeof data=='string') 
			data=JSON.parse(data);
		
		if(!!data.status && data.status=='validation_failed')
			return;
			
		setTimeout(function() {
			jQuery('.emodal-overlay').click();//Скрываю модальное окно
		}, 2000); // здесь закрывается модальное окно через 2 секунды
	}catch(e){
		console.error(e);
	}
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запретить перенаправление после отправки POST hi_artem AJAX и COMET 2 16.10.2011 18:41
Не работает кнопка отправки после загрузки Igor Shmigoff jQuery 2 29.12.2010 21:51
Проблема с дизайном после отправки xmlhttprequest, Проблема с дизайном после отправки cyberx AJAX и COMET 3 01.05.2010 17:07
У элемента img внутри form пропадает событие после onsubmit формы Eugene Events/DOM/Window 2 18.06.2009 19:21
Передача фокуса из формы после ввода символа kuh Общие вопросы Javascript 2 08.03.2009 19:50