На странице есть несколько одинаковых форм с разным id и с одинаковым классом:
<form action="" id="form-1" class="form-action-1">
<input type="text" name="name" placeholder="Имя">
<input type="text" name="phone" placeholder="Телефон или Email">
<button type="submit" name="submit">Отправить</button>
</form>
Также есть обработчик формы с помощью ajax:
$(document).on('submit', '.form-action-1', function(e)
{
e.preventDefault();
var error = false,
$form = $('.form-action-1'),
$name = $('input[name="name"]'),
$phone = $('input[name="phone"]');
if ($('input[name="name"]').val() == '')
{
$name.addClass('input-error');
setTimeout(function(){
$name.removeClass('input-error');
}, 600);
error = true;
}
if ($('input[name="phone"]').val() == '')
{
$phone.addClass('input-error');
setTimeout(function(){
$phone.removeClass('input-error');
}, 600);
error = true;
}
if (!error)
{
$form.find('.input-error').removeClass('input-error');
$.ajax({
type: 'POST',
url: 'mail.php',
data: $form.serialize(),
success: function() {
$('#form-banner-dialog').removeClass('dialog-close');
$('#form-banner-dialog').addClass('dialog-open');
$('.close').on('click', function() {
$('#form-banner-dialog').removeClass('dialog-open');
$('#form-banner-dialog').addClass('dialog-close');
});
$form.find('input[type=text]').val('');
}
});
}
return false;
});
При сабмите пустой второй формы класс input-error присваивается к первой, а если вторую форму заполнить и отправить, то ничего не происходит. Но если сразу после этого отправить первую форму, то отправляются данные, которые были введены во вторую. Первая без заполнения второй ничего не отправляет.
Подскажите, пжл, в какую сторону копать?