我在视图中有一个用于删除记录的表单,我想要一个确认对话框,以显示何时单击删除按钮。在我看来,我有这个:
{{ 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();
});
});
答案 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});
})
答案 1 :(得分:1)
您正在尝试提交按钮而不是表单。
尝试将$('.delete-event').submit();
更改为$('form').submit();