如何禁用 Yii2 中的按钮

问题描述 投票:0回答:4
php button yii2
4个回答
8
投票

您需要添加一个

disabled
属性来禁用该按钮,或者要完全隐藏它,您可以使用 CSS
style=display: none;

下面的代码中使用了两者

<p>
    <?php
        if (Yii::$app->user->isGuest) {
            // This button will be displayed, but is disabled 
            Html::a('Create a Project', ['create'], ['class' => 'btn btn-primary btn-xs', 'disabled' => 'disabled']);
        } elseif(Yii::$app->user->identity->username) {
            Html::a('Create a Project', ['create'], ['class' => 'btn btn-success']);
        } else {
            // This button will not be displayed (it is hidden)
            Html::a('Create a Project', ['create'], ['class' => 'btn btn-primary btn-xs', 'style' => 'display: none;']);
        }
    ?>
</p>

4
投票

首先,您无法禁用

a
标签。
disabled
属性在
Button
标签上运行良好,例如:

<?= Html::Button('Project', ['class' => 'btn btn-success', 'disabled' => Yii::$app->user->isGuest ]) ?>

如果您确实想禁用

a
标签,那么您可以使用以下示例:

HTML:

<a id="a1" href="http://www.google.com">Google 1</a>

Javascript:

$('#a1').attr('disabled', 'disabled');

$('a').on('click', function(e) {
    if ($(this).attr('disabled') == 'disabled') {
        e.preventDefault();
    }
});

2
投票

如果您只是在用户中检查

logged
,则使用
!Yii::$app->user->isGuest
,但您会忘记
echo

if (!Yii::$app->user->isGuest) {
        echo Html::a('Create a Project', ['create'], ['class' => 'btn btn-primary btn-xs'])
} 

0
投票

您还可以使用“禁用”类:

echo Html::a('Create Item', ['create'], ['class' => 'btn disabled']);

在尝试一些解决方案时偶然发现了这种方法。 :D

© www.soinside.com 2019 - 2024. All rights reserved.