我正在使用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();
}
答案 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);
}