【发布时间】:2021-04-20 18:51:14
【问题描述】:
让我先说我不懂 javascript 和 ajax 因此,我尝试遵循几个代码,以便在确认删除预订之前弹出警报,但即使我按下取消,预订也会被删除,或者即使我在随机位置按下表格也会提交,因为我不太了解代码我无法检测到问题,谁能告诉我我应该解决什么
这是我的 js 代码:
<!-- SweetAlert2 -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/7.2.0/sweetalert2.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/7.2.0/sweetalert2.all.min.js"></script>
<script>
function confirmDelete(item_id) {
swal({
title: "Attention!",
text: "Êtes-vous sûr de vouloir annuler votre réservation?",
type: "warning",
buttons: true,
showCancelButton: !0,
confirmButtonColor: '#FFC61A',
confirmButtonText: "Oui!",
cancelButtonText: "Annuler",
dangerMode: true,
reverseButtons: !0
})
.then((willDelete) => {
if (willDelete) {
$('#delete-company').submit();
}else {
swal("Cancelled Successfully");
}
});
}
这是我的按钮和表单
<td>
<form id="delete-company" action="{{ url('reservations/'.$r->id) }}" method="post">
{{csrf_field()}}
{{method_field('delete')}}
<button type="button" class="btn btn-black-bordered btn-xs" onclick="confirmDelete('delete-company')"><i class="fa fa-trash"></i></button>
</form>
</td>
和我的控制器
public function destroy(Reservation $reservation)
{
try {
Reservation::where('id',$reservation->id)->delete();
Alert::success('Succès', 'La réservation a été annulée avec succès')->autoClose(false);
return back();
} catch (Exception $e) {
return back()->withError('Une erreur est survenue, veuillez réessayer ultérieurement')->withInput();
}
}
尝试一些建议后更新我的代码
<form id="{{'delete-company-'.$r->id}}" action="{{ url('reservations/'.$r->id) }}" method="post">
{{csrf_field()}}
{{method_field('delete')}}
</form>
<button type="button" class="btn btn-black-bordered btn-xs" onclick="confirmDelete('{{$r->id}}')">
<i class="fa fa-trash"></i>
</button>
这是我的新脚本
<script>
function confirmDelete(item_id) {
swal({
title: "Attention!",
text: "Êtes-vous sûr de vouloir annuler votre réservation?",
type: "warning",
buttons: true,
showCancelButton: !0,
confirmButtonColor: '#FFC61A',
confirmButtonText: "Oui!",
cancelButtonText: "Annuler",
dangerMode: true,
reverseButtons: !0
})
.then((willDelete) => {
if (willDelete) {
$('#delete-company-'+item_id).submit();
}else {
swal("Cancelled Successfully");
}
});
}
</script>
【问题讨论】:
-
我假设您的按钮触发了对控制器的调用,无论您是否有弹出确认。
-
不,当我点击取消或确认按钮或提交表单的任何地方时,首先显示警告
标签: javascript laravel sweetalert2