Показать сообщение отдельно
  #1 (permalink)  
Старый 11.04.2020, 08:00
Новичок на форуме
Отправить личное сообщение для sadovod Посмотреть профиль Найти все сообщения от sadovod
 
Регистрация: 11.04.2020
Сообщений: 1

Как сбросить данные формы только при ее отправке?
Доброго времени суток всем!
Вопрос такой.
Есть форма обратной связи с каптчей, которая отправляет письма через js.
Если неправильно ввел каптчу, то при отправке сообщения выводится об этом информация.
Если правильно заполнил все поля, то об этом тоже выводится информация и все поля ввода очищаются.
Проблема в том, что очищаются все поля и когда вводишь неправильно каптчу, появляется сообщение об этом и поля тоже все очищаются.

Как сделать так, чтобы при сообщении об ошибке ввода каптчи поля не очищались?

Это часть кода, где записана функция очистки формы:
jQuery.ajax({
		url: "mail.php",
		type: "POST",
		data: 'name=' + name + '&email=' + email + '&subject=' + subject + '&message=' + message + '&verify=' + verify,
		success:function(data){
			$("#info-status").html(data);
			$("#form-msgsend").delay(1000).fadeOut(3000);
			$("#form").trigger("reset");
			},
			error:function (){}
		});

Основной блок вывода информации, это /#info-status/
в /#form-msgsend/ выводится сообщение об успешной отправке данных (что там выводить прописано в php файле).
в /#error-captcha/ я вывожу сообщение о неверной каптче (сам текст тоже записан в php файле).
Как сделать так, чтобы при выводе /#error-captcha/ функция /$("#form").trigger("reset");/ не срабатывала, а работала только при выводе /#hrform-msgsend'/?
А то она постоянно срабатывает при обработке /#info-status/.

сроку /"$('#form-msgsend').delay(1000).fadeOut(3000);"/ в коде указал только для того, чтобы надпись об отправке сообщения исчезала, а так оба сообщения ( о неверно введенной каптче и об отправке данных ) выводятся если в коде есть только строка /$("#info-status").html(data);/.

Идентификаторы /#form-msgsend/ и /#error-captcha/ в HTML выводятся внутри блока /#info-status/

И если я указываю в коде рядом с /#info-status/ сроку /$("#form").trigger("reset");/, то reset срабатывает на все, что там отображается.

Подскажите, кто знает, как сделать так, чтобы /$("#form").trigger("reset");/ работала только при выводе /#form-msgsend/?
Ответить с цитированием