Laravel - 如何传递值等于视图中输入值的变量(blade)?
Laravel - how to pass variable that value is equal to input value in view(blade)?
我正在使用 Laravel 5.8。在此 blade 中,我有 text input
用户必须填充,然后才能转到其他页面视图,并且必须将来自该输入的值传递给其他页面视图
这是我的 text input
代码:
<input type="text" name="delivery_time" value="">
这是我的 <a>
标签 link 到另一个页面:
<a href="{{route('manager.invoicePrint', ['id' => $restaurant->id, 'code' => $inv->id, 'delivery' => 'MINUT'])}}" class="btn btn-success btn-block font-weight-bold">Prihvati</a>
所以我已经传递了该变量 delivery
及其值 ' MINUT'
但我需要该变量等于用户填充的输入。
这是另一个页面视图的 invoicePrint
函数:
/**
* Show the form for creating a new resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function invoicePrint($id, $code, $delivery)
{
$restaurant = Restaurant::find($id);
$inv = Invoice::findOrFail($code);
if(Auth::user()->userRestaurants->first()->id != $restaurant->id){
return redirect()->back();
}
return view('website.restaurants.dashboard.invoice-print', compact('restaurant', 'inv', 'delivery'));
}
我在这里传递 delivery
变量,在我的 web.php
:
Route::get('/narudzbina/{id}/{code}/{delivery}', 'RestaurantsController@invoicePrint')->middleware('auth')->name('manager.invoicePrint');
这个Route
一分为二Route::group
。
如何将输入值传递给变量,然后该变量传递给另一个页面视图(blade)?
输入字段获得一个 ID test-input
,以便更轻松地访问它的值。
此外,我们将生成的路由(没有 {delivery}
)存储为 link.
的数据属性
<a href="/" data-baseroute="/{id}/narudzbina/{code}/" class="btn btn-success btn-block font-weight-bold" id="the-link">Prihvati</a>
<input id="test-input"/>
为了简单起见,我在这里使用 jQuery。
我们需要在输入字段上注册一个 change
事件处理程序,以便每个键入的字符都需要立即添加到 href
中。请注意 URL 中并非每个字符都受支持,因此您需要先清理用户输入。
$(document).ready(function() {
$('#test-input').on('change', function(e) {
var linkElement = $('#the-link');
// get value user typed in
var inputFieldValue = e.target.value;
// compose route using baseRoute (generated by Laravel)
var baseRoute = linkElement.data('baseroute');
// set it as href
linkElement.attr('href', baseRoute + inputFieldValue);
});
});
我正在使用 Laravel 5.8。在此 blade 中,我有 text input
用户必须填充,然后才能转到其他页面视图,并且必须将来自该输入的值传递给其他页面视图
这是我的 text input
代码:
<input type="text" name="delivery_time" value="">
这是我的 <a>
标签 link 到另一个页面:
<a href="{{route('manager.invoicePrint', ['id' => $restaurant->id, 'code' => $inv->id, 'delivery' => 'MINUT'])}}" class="btn btn-success btn-block font-weight-bold">Prihvati</a>
所以我已经传递了该变量 delivery
及其值 ' MINUT'
但我需要该变量等于用户填充的输入。
这是另一个页面视图的 invoicePrint
函数:
/**
* Show the form for creating a new resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function invoicePrint($id, $code, $delivery)
{
$restaurant = Restaurant::find($id);
$inv = Invoice::findOrFail($code);
if(Auth::user()->userRestaurants->first()->id != $restaurant->id){
return redirect()->back();
}
return view('website.restaurants.dashboard.invoice-print', compact('restaurant', 'inv', 'delivery'));
}
我在这里传递 delivery
变量,在我的 web.php
:
Route::get('/narudzbina/{id}/{code}/{delivery}', 'RestaurantsController@invoicePrint')->middleware('auth')->name('manager.invoicePrint');
这个Route
一分为二Route::group
。
如何将输入值传递给变量,然后该变量传递给另一个页面视图(blade)?
输入字段获得一个 ID test-input
,以便更轻松地访问它的值。
此外,我们将生成的路由(没有 {delivery}
)存储为 link.
<a href="/" data-baseroute="/{id}/narudzbina/{code}/" class="btn btn-success btn-block font-weight-bold" id="the-link">Prihvati</a>
<input id="test-input"/>
为了简单起见,我在这里使用 jQuery。
我们需要在输入字段上注册一个 change
事件处理程序,以便每个键入的字符都需要立即添加到 href
中。请注意 URL 中并非每个字符都受支持,因此您需要先清理用户输入。
$(document).ready(function() {
$('#test-input').on('change', function(e) {
var linkElement = $('#the-link');
// get value user typed in
var inputFieldValue = e.target.value;
// compose route using baseRoute (generated by Laravel)
var baseRoute = linkElement.data('baseroute');
// set it as href
linkElement.attr('href', baseRoute + inputFieldValue);
});
});