我不太擅长ajax。我想取消选中“活动”用户的复选框。
我的LoginController里有这个
public function login()
{
$credentials = $this->validate(request(), [
'email' => 'email|required|string',
'password' => 'required|string',
]);
if (Auth::attempt($credentials)) { //auth attemptdevuelve verdadero o falso en caso de que las credenciales correspondan o no
//Inician cambios RDAN
$user = Auth::user();
if($user->active) // checking your user is active or not
{
if ($user->hasRole('admin')) {
return redirect('main');
} else if ($user->hasRole('externo')) {
return redirect('es/user_form');
} else if ($user->hasRole('profesor')) {
return redirect('main');
} else if ($user->hasRole('registrador')) {
return redirect('select_lang');
} else {
return back()->withErrors(['email' => 'Incorrect user permissions'])
->withInput(request(['email']));
}
}
else
{
Auth::logout(); //to logout user
return back()->withErrors(['email' => 'Account Deactivated please contact admin'])->withInput(request(['email'])); // error message if user deactivated.
}
//Terminan cambios RDAN
} else {
return back()->withErrors(['email' => 'Incorrect user permissions'])
->withInput(request(['email']));
}
} @foreach($users ?? '' as $user)
<tr>
<td class="small text-center">{{$user->name}}</td>
<td class="small text-center">{{$user->email}}</td>
<td class="small text-center">
@foreach($user->roles as $role)
{{$role->nombre_rol. '-'. ' '}}
@endforeach
</td>
<td class="small text-center">
<input {{$user->active=='1'?'checked':''}} type="checkbox" name="active" value="1">
</td>
<td class="small text-center">
<div class="row">
<div >
<!--VIEW-->
<button onclick="verUsuario({{$user->id}})" class="btn btn-sm btn-outline-success m-1">
<i class="bi bi-eye align-content-center"></i>
</button>
</div>
<div >
<!--EDIT-->
<button onclick="editarUsuario({{$user->id}})" class="btn btn-sm btn-outline-warning m-1">
<i class="bi bi-pencil-fill align-content-center"></i>
</button>
</div>
<!--Delete-->
<form id="delete" action="{{url('Usuario/'.$user->id)}}" method="post">
{{csrf_field()}}
{{method_field('DELETE')}}
<button type="submit" onclick="return confirm('Va a borrar la usuario {{$user->name}} ¿está seguro?')" class="btn btn-sm btn-outline-danger m-1"><i class="bi bi-trash-fill align-content-center"></i></button>
</form>
</div>
</td>
</tr>
@endforeach在MySQL数据库中,我在表'users‘中添加了'tinyint(1)’类型的'active‘列。我在视图中添加了它,其中用户'admin‘可以启用或禁用带有复选框的用户。我不明白如何确保如果不检查它,则值更改为0。复选框不是在表单中,而是在作为列的“我的索引”中。有人能帮我吗?
发布于 2022-01-10 07:25:28
我想你把圆括号忘在那个条件下了
<input {{((int)$user->active==1)?'checked':''}} type="checkbox" name="active" value="1">如果不是,这就是您所要寻找的,而且活动属性总是为false,可能您忘记了在模型用户中添加活动属性。
发布于 2022-01-10 07:17:36
<element id="blabla" onclick="uncheck()" />联署材料:
getElementById(blabla)
blabla.checked = true/falsePHP:
DB::table('tablename')->update(['checkbox' => 0/1]);此外,如果使用布尔值而不是整数,则更好,因为它是您所需要的真正类型,而且更简单、更符合逻辑,而且可能更安全
https://stackoverflow.com/questions/70648841
复制相似问题