@mod133

Несколько форм на сайте как к ним обращаться из js?

На сайте 3 формы, при заполнении которых пользователь должен получать разные сообщения об отправке когда будет submit, реализовано вместо Alert через MagnificPopup. Но получает сообщение одно и то же сообщение, так как обращается ко всем формам на сайте. Подскажите способ реализации...

lines (18 sloc)  358 Bytes
$(document).ready(function() {

	//E-mail Ajax Send
	$("form").submit(function() { //Change
		var th = $(this);
		$.ajax({
			type: "POST",
			url: "mail.php", //Change
			data: th.serialize()
		}).done(function() {
			alert("Thank you!");
			setTimeout(function() {
				// Done Functions
				th.trigger("reset");
			}, 1000);
		});
		return false;
	});

});
  • Вопрос задан
  • 299 просмотров
Решения вопроса 1
KorniloFF
@KorniloFF Куратор тега JavaScript
Работаю по font-end / JS
$("form") -> $("form#f1") etc...
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
zoozag
@zoozag
Opencart
var th = $(this);
Вот у вас в функции выбирается форма текущая.
От нее и пляшите.

И сообщение лучше показывать не на done, а на success
Ответ написан
@s-jet
Submit должен отрабатывать уже в контексте определенной формы

var formSender = {
	$form : {},
	init : function() {
		$('form').each(function() {
			var $form = $(this);
			$form.on('submit', function() {
				formSender.sendIfValid($form);
			});
			
		});
	},
        sendIfValid : function($form) {
           ......
        }
};
$(document).ready(function() {
	formSender.init();
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы