在 Laravel 8 中,可以通过以下步骤来实现在有人单击复选框时调用控制器函数:
example.blade.php
的视图文件中,可以添加以下代码:<form action="{{ route('checkbox.submit') }}" method="POST">
@csrf
<input type="checkbox" name="checkbox" id="checkbox" onclick="submitForm()">
</form>
<script>
function submitForm() {
document.forms[0].submit();
}
</script>
上述代码中,我们创建了一个表单,并在表单中添加了一个复选框。复选框的点击事件被绑定到了 submitForm()
函数上,该函数会在复选框被点击时自动提交表单。
routes/web.php
文件,添加以下代码:use App\Http\Controllers\CheckboxController;
Route::post('/checkbox/submit', [CheckboxController::class, 'submit'])->name('checkbox.submit');
上述代码中,我们定义了一个 POST 请求的路由 /checkbox/submit
,并将其指向名为 submit
的控制器函数。该路由使用了 CheckboxController
控制器类,并使用 name()
方法为路由命名,以便在视图文件中使用 route()
函数生成路由 URL。
php artisan make:controller CheckboxController
运行上述命令后,Laravel 会在 app/Http/Controllers
目录下生成一个名为 CheckboxController.php
的控制器类文件。打开该文件,并在其中添加以下代码:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class CheckboxController extends Controller
{
public function submit(Request $request)
{
// 在这里编写处理复选框点击事件的逻辑
}
}
上述代码中,我们创建了一个名为 CheckboxController
的控制器类,并在其中定义了一个名为 submit()
的函数。该函数接收一个 Request
对象作为参数,可以用于获取复选框的值以及其他请求数据。
submit()
函数中编写处理复选框点击事件的逻辑。根据具体需求,可以执行任意操作,例如保存数据、发送邮件等。完成上述步骤后,当有人单击复选框时,会触发点击事件并自动提交表单。提交的请求将被路由到 CheckboxController
控制器类的 submit()
函数中,你可以在该函数中编写相应的逻辑来处理复选框点击事件。
请注意,上述代码仅为示例,实际应用中可能需要根据具体需求进行适当的修改。
领取专属 10元无门槛券
手把手带您无忧上云