我有一个Yii2 ActiveFrom。
用
替换了“提交”按钮 <button class="btn <?= $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary' ?>"
onclick="submitit();return false;">
<?= $model->isNewRecord ? 'Create' : 'Update' ?>
</button>
因为我需要在页面处理后台期间显示模态叠加层。 (请等一下......)。
$('#rebates-form').yiiActiveForm('validate')
始终返回undefined。
即使我打电话
$("#rebates-form").data('yiiActiveForm')
验证&#39; &#34;验证&#34;即使表单没有验证错误,元素也始终为false。
$('#rebates-form').yiiActiveForm('submitForm')
总是返回false,即使表单已提交。
如何触发我的请等待对话
$('#pleaseWaitDialog').modal('show');
只有在没有验证错误的情况下才会显示?
答案 0 :(得分:3)
以下解决方案正在运行:
$(document).ready(function () {
$("#rebates-form").on("beforeSubmit", function (event, messages) {
$('#pleaseWaitDialog').modal('show');
return true;
});
});
function submitit(element) {
$('#rebates-form').yiiActiveForm('submitForm')
}
如果提交函数调用的额外按钮也可以省略,因为事件&#34; beforeSubmit&#34;无论如何都会触发。
只有在表单验证成功时才会触发此事件。
(见https://github.com/yiisoft/yii2/blob/master/framework/assets/yii.activeForm.js的评论)