Laravel Blade form表单绑定点击事件到controller

Posted YuNansen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel Blade form表单绑定点击事件到controller相关的知识,希望对你有一定的参考价值。

最近在用laravel写管理后台,发现了一个小问题:Laravel Blade form表单绑定点击事件到controller。特意在此将解决的方法记录一下,以便自己后面查阅。
首先将代码贴下来:

<form action="" method="get" id="searchForm">
                        <div class="row">
                            <div class="col-lg-3">
                                <div class="input-group">
                                    <span class="input-group-addon">账号</span>
                                    <input type="text" class="form-control" name="name" placeholder="账号"
                                           value=" request("name") ">
                                </div>
                            </div>
                            @if($_user->is_super_admin == 1 || in_array("agent_rate.excel", $own_routers))
                                <button type="button" class="btn btn-success exceldownload">导出excel表格</button>
                                <input id="exceldownload" type="checkbox" hidden name="exceldownload" value="exceldownload">
                            @endif
                            <div class="col-lg-2 pull-right">
                                <div class="input-group">
                                    <button type="submit" class="btn btn-primary excel">搜索</button>&nbsp;
                                    <button type="button" class="btn btn-warning" id="restSearchForm">重置</button>&nbsp;
                                    @if($_user->is_super_admin == 1 || in_array("agent_rate.store", $own_routers))
                                        <a class="btn btn-info" href=" route('agent_rate.create') ">添加</a>
                                    @endif
                                </div>
                            </div>

                        </div>
                    </form>
<script>
        $('.exceldownload').click(function()
            $('#exceldownload').click() && $('.excel').click() && $('#exceldownload').click();
        );
    </script>

在上面一段代码中,一开始点击exceldownload按钮,怎么样也无法进行跳转,经过打印发现controller中的create方法也没有执行。
经过调试发现至关重要的代码在下方:

<button type="submit" class="btn btn-primary excel">搜索</button>&nbsp;

这里的excel要和下方js中的excel保持一致:

$('#exceldownload').click() && $('.excel').click() && $('#exceldownload').click();

也就是我们在通过按钮提交表单的时候,在blade中要时刻注意id,我们要给每个空间赋值一个id才可以进行操作(原谅我前端不太精通,只能记录下来供自己查阅)。

PS:发一个与本文无关的 笔记:
如果我们的openVPN报错:All TAP-Windows adapters on this system are currently in use,可以从以下两篇文章找到解决方案:
https://www.itdaan.com/blog/2013/09/02/19e1901cbb2ba5b2386ab7fb942fd706.html
https://jingyan.baidu.com/article/fb48e8bef382b56e622e1490.html
亲测可行。

这里再强调一个laravel的知识点,每次更改完配置之后,记得执行命令:

php artisan config:cache

这样子能更新配置缓存。

以上是关于Laravel Blade form表单绑定点击事件到controller的主要内容,如果未能解决你的问题,请参考以下文章

Laravel/Blade 表单添加“必需”以选择元素

使用 Blade 模板的 Laravel 5 表单中预选选项的条件 @if 语句

将原始 html 从 Vue 返回到 Laravel Blade

如何在 laravel Blade 中创建可搜索的选择选项表单

Laravel教程 六:表单 Forms

Laravel Blade 模板 Form::open() 到 Html