2015-10-02 5 views
2

У меня есть Yii2 ActiveFrom.Yii2 клиентская сторона форма проверки

Заменил кнопку Submit с

<button class="btn <?= $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary' ?>" 
      onclick="submitit();return false;"> 
     <?= $model->isNewRecord ? 'Create' : 'Update' ?> 
    </button> 

, потому что мне нужно, чтобы показать модальное накладку во время страница является обработка в фоновом режиме. (Пожалуйста, подождите...).

$('#rebates-form').yiiActiveForm('validate') 

всегда возвращается не определено.

Даже если я называю

после элемента «Подтвердить» «одобренного» всегда ложно, даже если форма не имеет ошибки проверки.

$('#rebates-form').yiiActiveForm('submitForm') 

всегда возвращает false, даже если форма была отправлена.

Как я вызвать мой, пожалуйста, подождите диалоговое

$('#pleaseWaitDialog').modal('show'); 

показать только в случае sumbiting от без ошибок проверки?

ответ

3

После решения работает:

$(document).ready(function() { 
    $("#rebates-form").on("beforeSubmit", function (event, messages) { 
     $('#pleaseWaitDialog').modal('show'); 
     return true; 
    }); 
}); 

function submitit(element) { 
    $('#rebates-form').yiiActiveForm('submitForm') 
} 

Если дополнительная кнопка witht вызова функции submitit также могут быть опущены, так как событие «beforeSubmit» будет инициировать в любом случае.

Это событие будет активировано только в том случае, если проверка формы прошла успешно.

(см. Комментарий на https://github.com/yiisoft/yii2/blob/master/framework/assets/yii.activeForm.js)

+0

Большое спасибо. – bamossza