📅  最后修改于: 2023-12-03 14:56:31.391000             🧑  作者: Mango
在 Laravel 应用程序中,开发人员经常需要使用确认弹出,以确保用户意图执行某个操作。这个功能是通过 JavaScript 实现的,但我们可以使用 Laravel 的路由文件和控制器来实现它。
在撰写代码之前,请确保您已正确初始化 Laravel 应用程序,并确保您具有足够的权限来操作应用程序文件。您可以使用以下命令来创建一个基本的路由:
Route::get('/', function () {
return view('welcome');
});
这将创建一个基本页面,它将响应根路由请求。
现在,我们将使用一个 ConfirmController
控制器和一个包含确认请求的路由来创建我们的确认弹出。
首先,我们将创建一个名为 ConfirmController
的新控制器:
php artisan make:controller ConfirmController
接下来,我们将在 ConfirmController
中定义一个名为 confirm
的新方法,该方法将展示确认弹出:
public function confirm()
{
return view('confirm');
}
现在,我们需要在路由中添加一个新路径,它将访问我们的 confirm
方法:
Route::get('/confirm', 'ConfirmController@confirm');
我们还需要在视图中创建确认弹出,我们将在名为 confirm.blade.php
的新视图中完成此操作。
<a href="#" class="js-confirm" data-message="Are you sure?">Delete</a>
<script>
const buttons = document.querySelectorAll('.js-confirm');
buttons.forEach(button => {
button.addEventListener('click', (e) => {
const message = button.getAttribute('data-message');
if(!confirm(message)) {
e.preventDefault();
}
});
});
</script>
这将创建一个带有 "Are you sure?" 消息的确认弹出。
请注意,我们使用了 JavaScript 来控制确认弹出的行为。当用户单击 Delete
链接时,页面将弹出一个消息框并要求确认。如果用户单击 "Cancel",则不会执行任何操作。如果用户单击 "OK",则会执行与链接关联的操作。
现在,我们已经创建了一个名为 ConfirmController
的新控制器,创建了 confirm
方法和路由,以及创建了一个名称为 confirm.blade.php
的视图。
当用户单击带有类名 js-confirm
的链接时,将弹出一个消息框。如果用户单击 "OK",则将执行链接相关的操作。
使用 Laravel,您可以轻松创建自己的确认弹出。