【发布时间】:2021-02-13 22:32:14
【问题描述】:
按钮根本不做任何事情。如果我在每个
遇到了几个类似的主题,但没有一个完全有我正在寻找的任何解决方案。
html:
<table class="table table-hover">
@foreach ($query as $x)
<tr class="table-dark">
<form method="post" action="{{ action('Controller@admin_changeinfo') }}" enctype="multipart/form-data">
<input name="_token" type="hidden" value="{{ csrf_token() }}"/>
<th scope="row">User#{{$x->user_id}}</th>
<td>{{$x->name}}</td>
<td>
<input name="target" type="hidden" value="{{$x->user_id}}"/>
<input name="name" type="hidden" value="{{$x->name}}"/>
<input name="email" type="text" class="form-control"
id="admin_place_em" value="{{$x->email}}" placeholder="{{$x->email}}">
</td>
<td>
<select name="role" class="custom-select" id="admin_role_change">
<option selected="" value={{$x->role}}>{{$role_ar[$x->role]}}</option>
<option value="1" class="admin_role_opt">Value 1</option>
<option value="2" class="admin_role_opt">Value 2</option>
<option value="0" class="admin_role_opt">Value 0</option>
<option value="3" class="admin_role_opt">Value 3</option>
</select>
</td>
<td>
<input name="" type="submit" value="Update" href="/admin" class="btn btn-default">
</td>
</form>
</tr>
@endforeach
{{$query->links()}}
</table>
如果有帮助的话,这里是路线:
Route::post('/admin','Controller@admin_changeinfo');
--
编辑: 显然,您不能拥有 Form inside a table 。
解决方案:将整个表格放入表单中。创建一个具有唯一值的按钮,并使其他字段也唯一:
<button name="submit" type="submit" value={{$x->user_id}} href="/admin" class="btn btn-default">
Update
</button>
在您的控制器中:
$pressed = $request->submit;
$this -> validate($request, [
'email'.$pressed => 'required',
'role'.$pressed => 'required|in:1,2,3,0'
]);
$name = $request -> input('name'. $pressed);
$target = $request -> input('target'. $pressed);
return 'submit called: '.$name.' '.$target;
固定版本:
<form method="post" action="{{ action('Controller@admin_changeinfo') }}" enctype="multipart/form-data">
<input name="_token" type="hidden" value="{{ csrf_token() }}"/>
<table class="table table-hover">
@foreach ($query as $x)
<tr class="table-dark">
<th scope="row">User#{{$x->user_id}}</th>
<td>{{$x->name}}</td>
<td>
<input name="target{{$x->user_id}}" type="hidden" value="{{$x->user_id}}"/>
<input name="name{{$x->user_id}}" type="hidden" value="{{$x->name}}"/>
<input name="email{{$x->user_id}}" type="text" class="form-control"
id="admin_place_em" value="{{$x->email}}" placeholder="{{$x->email}}"/>
</td>
<td>
<select name="role{{$x->user_id}}" class="custom-select" id="admin_role_change">
<option selected="" value={{$x->role}}>{{$role_ar[$x->role]}}</option>
<option value="1" class="admin_role_opt">Value 1</option>
<option value="2" class="admin_role_opt">Value 2</option>
<option value="0" class="admin_role_opt">Value 0</option>
<option value="3" class="admin_role_opt">Value 3</option>
</select>
</td>
<td>
<button name="submit" type="submit" value={{$x->user_id}} href="/admin" class="btn btn-default">
Update
</button>
</td>
</tr>
@endforeach
{{$query->links()}}
</table>
</form>
【问题讨论】:
标签: html laravel forms loops submit