首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >到Laravel路由的HTML表单?

到Laravel路由的HTML表单?
EN

Stack Overflow用户
提问于 2018-07-18 05:15:38
回答 2查看 704关注 0票数 1

我正在尝试添加搜索功能。功能本身在控制器中工作。我只是在把搜索表单和路线结合起来时遇到了麻烦。

我的表单

代码语言:javascript
复制
<form method="get" action="/search/">
    <input type="text" class="textbox" placeholder="Search" name="name">
    <button title="Search" type="submit" class="button"><i class="fas fa-search"></i></button>

在我的路线上

代码语言:javascript
复制
Route::get('/search?name={name}', 'ShowPageController@searchShows');
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-18 05:19:33

你的路线应该是

Route::get('/search', 'ShowPageController@searchShows');

在控制器中,您应该通过执行以下操作来获取name查询字符串键对的值

代码语言:javascript
复制
public function searchShows(Request $request) 
{ 
    $name = $request->query('name');

    ....
}

另外,我会考虑给你的路线加上别名。

Route::get('/search', 'ShowPageController@searchShows')->name('search');

然后,在您的表单中,您可以这样做

代码语言:javascript
复制
<form method="get" action="{{ route('search') }}">
票数 4
EN

Stack Overflow用户

发布于 2018-07-18 05:27:11

因此,用视图中的以下代码替换您的代码:

代码语言:javascript
复制
<form method="get" action="{{ route('search')}}">
    <input type="text" class="textbox" placeholder="Search" name="name">
    <button title="Search" type="submit" class="button"><i class="fas fa-search"></i></button>
</form>

在你的路由/web.php中

代码语言:javascript
复制
Route::get('/search', 'ShowPageController@searchShows')->name('search');

然后在你的控制器中:

代码语言:javascript
复制
public function searchShows(Request $request) 
{ 
    $s_query = $request->name;
    // perform operation now
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51390298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档