我想在删除项目之前用JavaScript创建一个确认对话框。
我的JavaScript代码
function confirmerSuppression() {
var confirmation = confirm("Êtes-vous sûr de vouloir supprimer cet élément ?");
if (confirmation) {
window.location.href = '/tiers.destroy/' + id; //
} else {
alert("Suppression annulée !");
}
}
字符串
删除按钮的代码
<form action="{{route('tiers.destroy', $tiers->id)}}" method="POST">
@csrf
<button onclick="confirmerSuppression()" class="btn btn-danger w-100 type="submit">DELETE</button>
</form>
型
我的路线:
Route::post('/tiers/details/{id}', [App\Http\Controllers\tiersController::class, 'destroy'])->name('tiers.destroy');
型
我的控制器:
public function destroy($id)
{
Tier::where("id","=",$id)->delete();
return redirect()->route('prospects.liste')->with("success","Tier supprimée avec succès.");
}
型
当我点击取消按钮时,对话框出现,当我点击取消时,它删除了与我点击是相同的元素。
任何人都有一个想法,请。
2条答案
按热度按时间9nvpjoqh1#
你可以用这个替换你的代码
个字符
hs1rzwqc2#
看起来这个问题可能与如何在JavaScript代码中构造要删除的URL有关。
id
变量没有在confirmerSuppression
函数中定义。下面是代码的更新版本:
字符串
在你的HTML中:
型
确保将
id
从PHP代码传递给JavaScript函数。此外,我将button
类型调整为“button”,以防止在确认之前提交表单。此外,请确保路由文件中的路由定义使用正确的URL结构:
型
现在,
id
应该被正确地传递给confirmerSuppression
函数,并且URL应该被正确地构造以进行删除。