【问题标题】:How to disable button when text input is empty in yii2?当yii2中的文本输入为空时如何禁用按钮?
【发布时间】:2016-11-24 09:37:13
【问题描述】:

当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>

【问题讨论】:

  • 如果输入为空,您是否只是为了防止表单提交而这样做?如果是这种情况,Yii2 有很好的验证来处理这些事情,你也可以使用 HTML5 来要求输入。如果你想禁用提交按钮,你必须注册一个 JS 代码并使用 Java Script 来做到这一点。
  • 谢谢,您有示例代码吗? @SobhanBagheri
  • 等等!我会输入它作为答案
  • 非常感谢@SobhanBagheri

标签: php forms button yii2 yii2-advanced-app


【解决方案1】:

首先默认禁用提交按钮,使用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了解更多信息。

【讨论】:

    猜你喜欢
    • 2023-03-10
    • 1970-01-01
    • 2015-07-23
    • 2022-01-05
    • 2020-03-13
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 2018-04-04
    相关资源
    最近更新 更多