如何在 yii2 中文本输入为空时禁用按钮?

How to disable button when text input is empty in yii2?

我想在 yii2 中文本输入为空时禁用按钮? 你能帮助我吗? 这是我的代码 谢谢

<div class="pemesanan-search thumbnail padding-baru col-sm-6 input">

    <?php $form = ActiveForm::begin([
        'action' => ['menubayar'],
        'method' => 'get',
    ]); ?>

    <?= $form->field($model, 'NO_REKENING') ?>

    <?= $form->field($model, 'NO_KARTU') ?>

    <?= $form->field($model, 'NAMA') ?>

    <div class="form-group">
        <center><?= Html::submitButton('Cek Kartu Kredit', ['class' => 'btn btn-default']) ?></center>
    </div>

    <?php ActiveForm::end(); ?>

</div>

首先使用disabled属性默认禁用提交按钮 在按钮的选项中。

之后你必须使用 Yii2 RegisterJS 注册一个 JS 代码。

然后在输入值改变后使用jQuery触发事件移除disabled属性。

$( "# [id of the input that needs value]" ).change(function() {
   $('input[type="submit"]').removeAttr('disabled');
});

通过使用上面的代码,如果您更改带有此 id 的输入的值,则意味着它不再为空并且 disabled 属性将被删除。

或者您也可以检查 $("# [id of the input that needs value]").val(); 是否不为空,使用此代码再次删除禁用属性:

$('input[type="submit"]').removeAttr('disabled');

P.S:你也可以在其模型中定义规则,并在模型规则中将该属性设为Required,让Yii 处理验证。您可以通过阅读 This document.

了解更多信息