Хочу перед отправкой формы, если она прошла валидацию, вывести модальное окно (с суммарной инфой по заполненным полям и дополнительной кнопкой подтверждения отправки).
Пробую делать так:
Код: Выделить всё
$('#submit-order').on('click', function(e) {
e.preventDefault();
$('#form-order').data('yiiActiveForm').submitting = true;
$('#form-order').yiiActiveForm('validate');
$('#submit-order').on('afterValidate', function (e) {
var validated = true;
var fgroups = $('#form-order > .form-group');
fgroups.each(function(i, el) {
if($(el).hasClass('has-error')) {
validated = false;
}
});
if(validated) {
console.log('validated');
$('#modal-result').modal('show');
}
else {
return false;
}
});
Проверяю прошла ли форма валидацию отсутсвием классов has-error у полей формы.
Проблема такая - если я не ставлю $('#form-order').data('yiiActiveForm').submitting = true; то если нажать кнопку сразу после загрузки страницы(не трогая поля формы) валидация не запускается. А если ставить submitting то форма тут же отправляется (если валидация прошла успешно). А мне надо отправлять по нажатию дополнительной кнопки в модалке.
В форме включена клиентская валидация а кнопка #submit-order type="button" а не type="submit".
Как сделать правильно, подскажите товарищи