Laravel:删除用户前提示
Posted
技术标签:
【中文标题】Laravel:删除用户前提示【英文标题】:Laravel : Prompt before deleting a user 【发布时间】:2015-01-05 22:14:11 【问题描述】:我正在使用以下代码成功删除表中的记录。我唯一的问题是,我希望它在删除之前提示用户确认操作。
link_to_route('individualprofiles.edit', 'Edit', array($ip->id))
Form::open(array( 'route' => array( 'individualprofiles.destroy', $ip->id ), 'method' => 'delete', 'style' => 'display:inline'))
Form::submit('D', array('class' => 'btn btn-danger'))
Form::close()
【问题讨论】:
Check this. @The Alpha 可能你只是草拟一个快速的答案,所以我可以接受。你的链接对我有用。但我认为对您来说非常重要的是,将按钮类型更改为按钮对于它在某些版本的 Bootstrap 上工作至关重要。看了你的评论我就知道了。 【参考方案1】:你可以试试这样的:
步骤 - 1
首先,您需要使用链接标签添加bootstrap.css
文件,在网页的head 部分使用脚本标签添加jQuery
和bootstrap.js
文件。在 bootstrap 的网站上,您会找到有关此的详细信息。如果您不想使用完整的引导框架,也可以使用此处选择的组件构建自定义文件。
步骤 - 2
在文件中添加以下html代码,并保存为单独的文件,例如delete_confirm.php
<!-- Modal Dialog -->
<div class="modal fade" id="confirmDelete" role="dialog" aria-labelledby="confirmDeleteLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Delete Parmanently</h4>
</div>
<div class="modal-body">
<p>Are you sure about this ?</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-danger" id="confirm">Delete</button>
</div>
</div>
</div>
</div>
另外,将以下 javascript 代码也粘贴到同一文件中
<!-- Dialog show event handler -->
$('#confirmDelete').on('show.bs.modal', function (e)
$message = $(e.relatedTarget).attr('data-message');
$(this).find('.modal-body p').text($message);
$title = $(e.relatedTarget).attr('data-title');
$(this).find('.modal-title').text($title);
// Pass form reference to modal for submission on yes/ok
var form = $(e.relatedTarget).closest('form');
$(this).find('.modal-footer #confirm').data('form', form);
);
<!-- Form confirm (yes/ok) handler, submits form -->
$('#confirmDelete').find('.modal-footer #confirm').on('click', function()
$(this).data('form').submit();
);
第 3 步
现在,在您要使用此确认模式对话框的任何页面中,只需使用 require_once
或 include_once
将其包括在内:
// other code
require_once('delete_confirm.php');
步骤 - 4
要构建删除操作按钮,您可以使用以下内容:
<form method="POST" action="http://example.com/admin/user/delete/12" accept-charset="UTF-8" style="display:inline">
<button class="btn btn-xs btn-danger" type="button" data-toggle="modal" data-target="#confirmDelete" data-title="Delete User" data-message="Are you sure you want to delete this user ?">
<i class="glyphicon glyphicon-trash"></i> Delete
</button>
</form>
欲了解更多信息check this article
【讨论】:
【参考方案2】:通过在Form::open
中使用'onsubmit' => "return confirm('Are you sure you want to delete?')"
。
Form::open(array(
'route' => array( 'individualprofiles.destroy', $ip->id ),
'method' => 'delete',
'style' => 'display:inline',
'onsubmit' => "return confirm('Are you sure you want to delete?')",
))
Form::submit('D', array('class' => 'btn btn-danger'))
Form::close()
【讨论】:
【参考方案3】:向您的表单添加一个 ID 或类,并使用 javascript 捕获表单提交操作。提示用户,如果他们确认,使用 javascript 提交表单。
不使用 javascript 的另一种方法是创建一个视图,提示用户确认删除。您的删除按钮将成为确认页面的链接,并且确认页面将包含此表单。
【讨论】:
以上是关于Laravel:删除用户前提示的主要内容,如果未能解决你的问题,请参考以下文章