如何在 Laravel 中将单选按钮值作为路由参数传递?
How to pass radio button value as route parameter in Laravel?
我想将选定的单选按钮值作为参数传递给 Laravel 路由。
我的路线是:
Route::resource('/datas','DataController');
从这条路线,我打算打电话给 localhost:8000/datas/{data}
我的data.blade.php是:
<form id="dataform" action="{{ route('datas.show')}}" method="GET">
<table class="table">
<tr>
<th>Select bullet</th>
<th>SL NO</th>
<th>Name</th>
<th>Age</th>
</tr>
@foreach ($datas $key => $data)
<tr>
<td><input type="radio" id="data{{$data->id}}" name="data" value={{$data->id}}></option></td>
<td>{{$key}}</td>
<td>{{$data->name}}</td>
<td>{{$data->age}}</td>
</tr>
@endforeach
</table>
<button type="submit" id="edit_submit" class="btn btn-default">Show</button> </form>
我的表演功能将是...
public function show($id)
{
//Code to showing data and redirect to show page
}
我想获取此单选按钮的值(如下所示)。
<td><input type="radio" id="data{{$data->id}}" name="data" value={{$data->id}}>
并将其作为参数包含在下面的表单操作中
<form id="dataform" action="{{ route('datas.show')}}" method="GET">
仅 HTML/Blade 无法做到这一点。您需要 javascript(或 javascript 框架)才能使实时更改生效,因为表单操作路径中的参数取决于所选单选按钮的值。
action="{{ route('datas.show', [ 'id' => [insert id here] ])}}"
我对这段代码做了一些修改。
将按钮更改为锚标记。
所以我的 blade.php 是:-
<table class="table">
<tr>
<th>Select bullet</th>
<th>SL NO</th>
<th>Name</th>
<th>Age</th>
</tr>
@foreach ($datas $key => $data)
<tr>
<td><input type="radio" id="data{{$data->id}}" name="data" value={{$data->id}}></option></td>
<td>{{$key}}</td>
<td>{{$data->name}}</td>
<td>{{$data->age}}</td>
</tr>
@endforeach
</table>
<a href="javascript:showfunction()" id="showlink" class="btn btn-default">Show</a>
我还添加了一个 javascript 函数。
<script>
function showfunction(){
var id = document.querySelector('input[name = "data"]:checked').value;
var url = '{{route("admin.questions.show",":id")}}';
url=url.replace(':id',id);
document.location.href=url;
}
</script>
我想将选定的单选按钮值作为参数传递给 Laravel 路由。
我的路线是:
Route::resource('/datas','DataController');
从这条路线,我打算打电话给 localhost:8000/datas/{data}
我的data.blade.php是:
<form id="dataform" action="{{ route('datas.show')}}" method="GET">
<table class="table">
<tr>
<th>Select bullet</th>
<th>SL NO</th>
<th>Name</th>
<th>Age</th>
</tr>
@foreach ($datas $key => $data)
<tr>
<td><input type="radio" id="data{{$data->id}}" name="data" value={{$data->id}}></option></td>
<td>{{$key}}</td>
<td>{{$data->name}}</td>
<td>{{$data->age}}</td>
</tr>
@endforeach
</table>
<button type="submit" id="edit_submit" class="btn btn-default">Show</button> </form>
我的表演功能将是...
public function show($id)
{
//Code to showing data and redirect to show page
}
我想获取此单选按钮的值(如下所示)。
<td><input type="radio" id="data{{$data->id}}" name="data" value={{$data->id}}>
并将其作为参数包含在下面的表单操作中
<form id="dataform" action="{{ route('datas.show')}}" method="GET">
仅 HTML/Blade 无法做到这一点。您需要 javascript(或 javascript 框架)才能使实时更改生效,因为表单操作路径中的参数取决于所选单选按钮的值。
action="{{ route('datas.show', [ 'id' => [insert id here] ])}}"
我对这段代码做了一些修改。 将按钮更改为锚标记。 所以我的 blade.php 是:-
<table class="table">
<tr>
<th>Select bullet</th>
<th>SL NO</th>
<th>Name</th>
<th>Age</th>
</tr>
@foreach ($datas $key => $data)
<tr>
<td><input type="radio" id="data{{$data->id}}" name="data" value={{$data->id}}></option></td>
<td>{{$key}}</td>
<td>{{$data->name}}</td>
<td>{{$data->age}}</td>
</tr>
@endforeach
</table>
<a href="javascript:showfunction()" id="showlink" class="btn btn-default">Show</a>
我还添加了一个 javascript 函数。
<script>
function showfunction(){
var id = document.querySelector('input[name = "data"]:checked').value;
var url = '{{route("admin.questions.show",":id")}}';
url=url.replace(':id',id);
document.location.href=url;
}
</script>