我遇到Book book = new Book();
book.setProperty("title","Animal Farm");
book.setProperty("author","George Orwell");
System.out.println("Book: " + book.getProperty("title") + " by " + book.getProperty("author"))
形式yii2
方法的问题。这是我的表格:
get
这是我的SearchController与actionIndex():
<form class="search-form" method="get" action="<?php echo Yii::$app->urlManager->createAbsoluteUrl(['search/index']); ?>" id="search-form">
<div class="row search-box">
<div class="12u search-box-inner">
<input class="search-input" type="text" id="search-query" placeholder="Search" name="search_key" autocomplete="off" >
</div>
</div>
</form>
我想提交给public function actionIndex()
{
$request = Yii::$app->request;
$search_key = $request->get('search_key');
return $this->render('index', ['search_key'=>$search_key]);
}
,但是当我提交此web/index?r=search/index&&search_key='something'
时,始终会返回form
。
我需要做什么?
答案 0 :(得分:0)
如果要在SearchController / Index
中使用参数 return $this->render('index', ['search_key'=>$search_key]);
你应该在函数声明中声明
public function actionIndex($search_key)
这样你可以使用渲染调用中传递的$ search_key的值
通过表单提交操作
<form class="search-form" method="get" action="
<?php echo Yii::$app->urlManager->createAbsoluteUrl(['search/index']); ?>"
id="search-form">
结果目标应为
web/index.php?r=search&id=search-form
并且在使用时,请在SearchController / Index
中获取提交你的actionIndex函数应该是
public function actionIndex($id)
{
// $id contain the value you assigne in form action
// in you case you should obtain the value 'search-form'
.......
}
答案 1 :(得分:0)
首先,您需要configuring-web-servers正确。
网址不应包含&#39; web / index&#39;。 然后使用ActiveForm
更改您的表单<?php
use yii\widgets\ActiveForm;
?>
<?php $form = ActiveForm::begin(); ?>
Your form content here.
<?php ActiveForm::end(); ?>
或强>
只需更改网址。
<?php echo Url::to(['search/index']); ?>