我的目的是将输入值转换为action url表单.
HTML:
<form method="POST" action="/search/the/{{$request->find}}"> {{csrf_field()}} <div id="check" class="input-group margin-bottom-sm"> <input class="form-control" type="text" name="find" placeholder="Search"> <button type="submit"><div id="search" class="input-group-addon"><i class="fa fa-search"></i></div></button> </div> </form>
路线:
Route::post('/search/the/{names}','maincontroller@search'); Route::get('/tfind','maincontroller@takefind');
控制器:
public function search($names,Request $request) { //dd($request->find); $names = $request->input('find'); if(!empty($names)){ $find = DB::table('products') ->select('name','description','price') ->where('name','LIKE','%' . $names . '%') ->orwhere('description','%' . $names . '%') ->orwhere('price','%' . $names . '%') ->get(); } return view('layouts.search',compact('find','names')); } public function takefind(Request $request) { $names = $request->input('find'); return view('layouts.find',compact('names')); }
当我手动放置通配符键时(例如):
<form method="POST" action="/search/the/5">
首先在文本字段中输入数字5并按下输入它的工作原理!
但我想要一个动态的方式!
我的主要目的是转换此URL
http://localhost:8000/search/the/?find=5
对此
http://localhost:8000/search/the/5
解决方法
通常laravel使用url查询,如
http://localhost:8000/search/the/?find=5.但如果你想获得像
http://localhost:8000/search/the/5的网址.你应该使用javascript来改变表单操作网址.因为您想通过文本字段上的输入文本更改URL.