如何使用Laravel 5.2单击第二个模态上的提交按钮时重定向到第一个模态?

时间:2018-02-21 09:51:10

标签: javascript php jquery laravel bootstrap-modal

我正在使用laravel 5.2,我在第一个模态上有一个按钮,可以在我的下拉列表中添加一个列表。单击时,它显示第二个模态,第一个模态关闭。我希望当我点击第二个模态的提交按钮时,数据将插入数据库,然后第二个模态关闭,第一个模态显示在我的下拉列表中的新添加列表。

如果我使用此代码作为第二个模态的提交按钮,则在提交后模式关闭并显示第一个模态,但数据不会保存到数据库中。

<button type="submit" data-toggle="modal" data-target="#first_modal" data-dismiss="modal" class="btn btn-round btn-success pull-right">Submit</button>

如果我使用此代码,数据将完美保存到数据库中,但它会将我重定向到主页面,而不是第一个模式。

<button type="submit" class="btn btn-round btn-success pull-right">Submit</button>

这是我控制器中的提交功能。

public function AddClientLead(Request $request)
{
    $client = new Client;
    $client->CLI_CLIENTCODE = $request['cli_code'];
    $client->CLI_CLIENTNAME = $request['cli_name'];
    $client->CLI_ADDRESS = $request['cli_address'];
    $client->CLI_PHONE = $request['cli_phone'];
    $client->CLI_EMAIL = $request['cli_email'];
    $client->CLI_WEBSITE = $request['cli_website'];
    $client->CLI_REMARK = $request['cli_remark'];
    $client->CLI_CREATEDBY = 'HPT';
    $client->CLI_CREATEDDATE = date('Y-m-d H:i:s');
    $client->save();
    return redirect()->back();
}

1 个答案:

答案 0 :(得分:0)

当您显示第一个模态时,请检查它是否被第二个模型的按钮

触发
$('#first_modal').on('show.bs.modal', function (event) {
    var button = $(event.relatedTarget) // Button that triggered the modal
    var source = button.data('source') // Extract info from data-* attributes

    if (source == 'second-modal') {
        // Get the form data and send it to server via ajax
        $.ajax({
            url: "AddClientLead", // YOUR ROUTE URL
            type: "get", // SHOULD MATCH THE TYPE WITH YOUR ROUTE DEFINITION
            cache: false,
            data: $("#second-form").serialize(); // second form's handle
            success: function(data) { 
                console.log(data);
            }
        });
    }
});

同时将第二个模态的按钮修改为

<button type="submit" data-toggle="modal" data-target="#first_modal" 
        data-dismiss="modal" data-source="second-modal"
        class="btn btn-round btn-success pull-right">Submit</button>

并将data-source添加到您的第一个模态按钮data-source="first-modal"

最后,不是从控制器中撤回redirect,而是可以返回持久化对象,以便它可以用于ajax的成功回调函数。

public function AddClientLead(Request $request)
{
    ...

    return response()->json($client);
}