Как определить вид submitButton в форме Yii2 в зависимости от заполненности полей формы до ее отправки?
Имеется код в файле Yii2-project/views/contact/_form.php:
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
/* @var $this yii\web\View */
/* @var $model app\models\Contact */
/* @var $form yii\widgets\ActiveForm */
?>
<div class="contact-form">
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'first_name')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'middle_name')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'last_name')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'internal_phone')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'mobile_phone')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'email_address')->textInput(['maxlength' => true]) ?>
<div class="form-group">
<?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
Как изменить код (желательно, в пределах приведенного), чтобы кнопка имела вид неактивной (поправка - чтобы кнопка была отключена), если хотя бы одно поле из представленных - за исключением 'middle_name' - является пустым? т.е. что-то типа
<?= Объект->свойство == null ?
Html::submitButton('Сохранить', ['class' => 'btn btn-success']) :
Html::submitButton('Сохранить', ['class' => 'btn btn-success disabled']) ?>
Ответы (1 шт):
Автор решения: Евгений Малеев
→ Ссылка
Для этого кидаешь js событие
$(".inputNotNull").on("blur" или "change", function(){
.......
})
на поля которые нужно проверять. В функции делаешь проверку на пустоту полей и если хотя бы одно из них пустое, кнопка остается неактивной. Как только все заполнены, активируешь, изменяя аттрибут "disabled" на false.
inputNotNull - это класс который навешиваешь на нужные инпуты