Laravel 4中的Bootstrap模态对话框

时间:2013-05-10 11:59:06

标签: twitter-bootstrap modal-dialog laravel laravel-4

我在视图中有一个用于删除记录的表单,我想要一个确认对话框,以显示何时单击删除按钮。在我看来,我有这个:

{{ Form::model($event, array('route' => array('events.destroy', $event->id), 'method' => 'Delete')) }}
    {{ Form::submit('Delete', array('class' => 'btn-small btn-danger delete-event', 'data-toggle' => 'modal', 'data-title' => 'Delete Event', 'data-content' => 'Are you sure you want to delete this event?')) }}
{{ Form::close() }}

我希望能够获取数据属性并使用jQuery动态填充Twitter Bootstrap模式对话框,但我不确定如何处理它。

你们会做什么?基本上,当单击删除按钮时,我想要一个模态窗口,其中包含数据属性的标题和内容,以及取消按钮和删除按钮。如果用户点击删除按钮,我想提交表单。

请注意,此视图包含一个记录表,每个记录都有一个删除表单/按钮。

真的很感谢你对这一个人的帮助。欢呼声。

编辑:我现在有这个,这几乎可以,但它不提交表格?

$('.delete-event').click(function(event) {
    event.preventDefault();

    var title = $(this).attr('data-title');
    var content = $(this).attr('data-content');

    $('#event-modal').html(title);
    $('.modal-body p').html(content);
    $('.modal-footer .delete').html(title);
    $('#event-delete').modal('show');

    $('.delete').click(function(event) {
        $('#event-delete').modal('toggle');
        $('.delete-event').submit();
    });
});

2 个答案:

答案 0 :(得分:5)

我没有使用表单,只是一个形状为按钮的链接:

{{ Html::link(URL::route('event.destroy',$event->id), 'Delete', array('class' => 'btn btn-small btn-danger delete-event', 'data-title'=>'Delete Event', 'data-content' => 'Are you sure you want to delete this event?', 'onClick'=>'return false;')) }}

这个javascript:

jQuery('.delete-event').click(function(evnt) {
            var href = jQuery(this).attr('href');
            var message = jQuery(this).attr('data-content');
            var title = jQuery(this).attr('data-title');

            if (!jQuery('#dataConfirmModal').length) {
                jQuery('body').append('<div id="dataConfirmModal" class="modal" role="dialog" aria-labelledby="dataConfirmLabel" aria-hidden="true"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button><h3 id="dataConfirmLabel">'+title+'</h3></div><div class="modal-body">'+message+'</div><div class="modal-footer"><button class="btn btn-success" data-dismiss="modal" aria-hidden="true">No</button><a class="btn btn-danger" id="dataConfirmOK">Yes</a></div></div>');
            } 

            jQuery('#dataConfirmModal').find('.modal-body').text(message);
            jQuery('#dataConfirmOK').attr('href', href);
            jQuery('#dataConfirmModal').modal({show:true});
})

这是一个工作小提琴:http://jsfiddle.net/antonioribeiro/wYbwv/

答案 1 :(得分:1)

您正在尝试提交按钮而不是表单。

尝试将$('.delete-event').submit();更改为$('form').submit();