Phi*_*hil 2 php laravel eloquent
我有一个删除按钮用于删除像这样的记录
{{Form::open(array('method'=>'DELETE', 'route' => array('users.destroy', $user->id)))}}
{{Form::submit('Delete', array('class'=>'btn btn-danger'))}}
{{Form::close()}}
Run Code Online (Sandbox Code Playgroud)
表单路由到控制器销毁功能,我喜欢这样
public function destroy($id)
{
User::find($id)->delete();
return Redirect::route('users.index');
}
Run Code Online (Sandbox Code Playgroud)
但我希望在删除记录之前弹出确认提醒.有没有办法让控制器打开模态对话框并获得返回值?或者控制器是否打开一个视图,打开一个模态,然后再次指向另一个删除的控制器或一个重新路由的控制器......对控制器如何以这种方式控制逻辑感到困惑......
我的部分中有twitter bootstrap和jquery <head>就像这样
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet"> |
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
你的控制器没有任何关系,只需要一些JavaScript即可.
由于您使用的是bootstrap,因此最简单的方法是使用BootstrapDialog.
{{Form::open(array('method'=>'DELETE', 'route' => array('users.destroy', $user->id)))}}
{{Form::submit('Delete', array('class'=>'btn btn-danger'))}}
{{Form::close()}}
<script>
$(document).ready(function(){
$('form').submit(function(e){
e.preventDefault();
url = $(this).parent().attr('action');
BootstrapDialog.confirm('Are you sure you want to delete?', function(result){
if(result) {
$.ajax(url);
}
});
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
注意不要忘记在Bootstrap和jQuery包含之后添加以下内容.
<script src="your link to bootstrap-dialog.js"></script>
Run Code Online (Sandbox Code Playgroud)
你可以从这里下载.