[英]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.