📜  确认弹出 laravel - PHP (1)

📅  最后修改于: 2023-12-03 14:56:31.391000             🧑  作者: Mango

确认弹出 Laravel - PHP

在 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,您可以轻松创建自己的确认弹出。