繁体   English   中英

Laravel 5.1 一表单两个提交按钮

[英]Laravel 5.1 one form two submit buttons

我正在使用 Laravel 5.1,我想制作一个带有两个提交按钮的表单 - 保存和保存草稿。

但是当我发布表单时,我拥有除提交值之外的所有字段。

我已经读过当表单通过 ajax 发送时,Laravel 不会将提交按钮值放在 POST 中,所以你能帮我怎么做吗?

我已经尝试了一些代码如下:

{!! Form::open(['url' => 'offer/create', 'method' => 'post', 'id' => 'offer-create']) !!}

....
here are my fields
....

{!! Form::submit( 'Save', ['class' => 'btn btn-default', 'name' => 'save']) !!}

{!! Form::submit( 'Save draft', ['class' => 'btn btn-default', 'name' => 'save-draft']) !!}

在我的 routes.php 我有:

Route::controller('offer', 'OfferController');

提前致谢

您可以为提交按钮使用相同的名称和不同的值属性

// 示例:

{!! Form::submit( 'Save', ['class' => 'btn btn-default', 'name' => 'submitbutton', 'value' => 'save'])!!}

{!! Form::submit( 'Save draft', ['class' => 'btn btn-default', 'name' => 'submitbutton', 'value' => 'save-draft']) !!}

// 控制器:

switch($request->submitbutton) {

    case 'save': 
        //action save here
    break;

    case 'save-draft': 
        //action for save-draft here
    break;
}

最好的方法之一是使用隐藏类型的输入,然后单击按钮将值附加到该输入并在控制器端的请求参数中获取该值。 然后使用 if 和 else 条件运行您的查询。

这是隐藏输入:

<input id="submittype" type="hidden" name="submit_type" value=""></input>

这是提交按钮 div :

    <div class="text-right">
                <button class="btn btn-sm btn-primary" onclick="saveandexit()" type="submit">@lang('save &amp; exit')</button>
                <button class="btn btn-sm btn-primary" onclick="save()" type="submit">@lang('save')</button>
            <div>

This is script:
        <script>
        function save() {
              document.getElementById("submittype").value = "save";
           }
        function saveandexit() {
            document.getElementById("submittype").value = "save-and-exit";
        }
        </script>
    @endsection

,然后进入控制器功能:

dd($request->all());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM