簡體   English   中英

Yii2:如何從控制器獲取checkox的值

[英]Yii2: How to get checkox's value from controller

我需要在控制器中使用Yii2 Framework獲取一個名為Password的復選框的值。

在我的_form.php中我定義了復選框:

<?= Html::checkbox('password', false, $options = ['label' => 'Reset password']) ?>

在我的UserController.php中,我有actionUpdate函數:

public function actionUpdate($id)
{
    $model = $this->findModel($id);
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
        return $this->redirect(['view', 'id' => $model->id]);
    } else {
        echo '<pre>';
        echo Yii::$app->request->post()['password'];
        echo '</pre>';
        return $this->render('update', [
            'model' => $model,
        ]);
    }
}

我總是得到值1而不是

首先,代碼中存在錯誤,應該是:

<?= Html::checkbox('password', false, ['label' => 'Reset password']) ?>

默認情況下選中此復選框時會生成1 如果要在未選中復選框時發送0 ,則必須添加:

<?= Html::checkbox('password', false, ['label' => 'Reset password', 'uncheck' => 0]) ?>

復選框返回1表示true(選中),返回0表示false(未選中)。

您可以按照以下方式登記控制器

if(isset($model->password) && $model->password =="1") //check box is checked
{
     // code
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM