Php Laravel 5.1一个表单两个提交按钮

Php Laravel 5.1一个表单两个提交按钮,php,forms,laravel-5,Php,Forms,Laravel 5,我使用的是Laravel5.1,我想制作一个带有两个提交按钮的表单-保存和保存草稿 但是当我发布表单时,除了提交值之外,我拥有所有字段 我已经读到,当表单通过ajax发送时,Laravel不会在帖子中添加submit按钮值,所以您能帮我怎么做吗 我尝试了以下代码: {!! Form::open(['url' => 'offer/create', 'method' => 'post', 'id' => 'offer-create']) !!} .... here are my

我使用的是Laravel5.1,我想制作一个带有两个提交按钮的表单-保存和保存草稿

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

我已经读到,当表单通过ajax发送时,Laravel不会在帖子中添加submit按钮值,所以您能帮我怎么做吗

我尝试了以下代码:

{!! 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']) !!}
在my 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>

这是submit按钮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

@lang(“保存和退出”)
@lang(‘保存’)
以下是脚本:
函数save(){
document.getElementById(“submittype”).value=“保存”;
}
函数savendexit(){
document.getElementById(“submittype”).value=“保存并退出”;
}
@端部
然后进入控制器功能:


dd($request->all())

这将生成按钮名称,但不会生成按钮值,因此这将不起作用。这对我有效。。。。如果我们更改了名称=>'submit',这将不起作用,但是如果设置了,那么名称=>submitbutton也会起作用。您能提供更多信息吗?这个问题与AJAX有什么关系?由于Laravel本身没有将任何内容放入
$\u POST
数组中,您能否进一步解释一下您是如何检查是否提交了其中一个按钮的?