【发布时间】:2019-12-29 18:56:59
【问题描述】:
我的控制器出现了一个奇怪的小问题。我不希望它重新加载我的页面。我不知道这是否可行,但在调用此函数时我的页面必须不重新加载。只要它不重新加载,它是否给出无用的消息都没关系。目前它返回 back() 作为占位符。这是我的控制器:
public function update(Request $request, User $user)
{
$this->validate($request,[
'name' => 'required|min:3|unique:users,name,' . $user->id,
'email' => 'required|min:3|unique:users,email,' . $user->id
]);
$user->name = $request->name;
$user->email=$request->email;
$user->active=$request->active;
$user->admin=$request->admin;
$user->save();
session()->put('flash_message', 'User succesfully edited!');
// return redirect('admin/users2')
// sleep(10);
return back();
}
我的表格:
<form action="" method="post">
@method('put')
@csrf
<div class="form-group">
<label for="name">Name</label>
<input type="text" name="name" id="name"
class="form-control @error('name') is-invalid @enderror"
placeholder="name"
minlength="3"
required
value="">
@error('name')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
<br>
<label for="email">email</label>
<input type="text" name="email" id="email"
class="form-control @error('email') is-invalid @enderror"
placeholder="email"
minlength="8"
required
value="">
@error('email')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
{{--type hidden voor de waarde in te stellen als checkbox unchecked is--}}
<br>
<input type="hidden" name="active" value="0" />
<input type="checkbox" id="active" name="active" value=1> Active
<br>
<br>
<input type="hidden" name="admin" value="0" />
<input type="checkbox" id="admin" name="admin" value=1> Admin
<div class="invalid-feedback"></div>
</div>
<button style="display: inline" type="submit" class="btn saveadvanced btn-success">Save changes</button>
</form>
我不知道这是否可能。如果有人知道实现这一点的方法,请随时发表评论。
【问题讨论】:
-
听起来您可能需要 Ajax?但问题尚不清楚。从用户的角度来看,所需的流程到底是什么?
-
我有一个用户表,必须自动更新而无需重新加载页面。我可以完成,但唯一的问题是页面重新加载,而我的教授不希望这样做。
-
你的表单是什么样子的?
-
@jeremykenedy 我用表格更新了帖子。
-
阻止默认表单提交,然后发出post请求。分别阅读here 和here。另外,请查看this answer
标签: javascript php jquery laravel controller