Laravel:删除用户前提示

时间:2014-11-09 15:20:18

标签: laravel laravel-4 blade

我使用下面的代码成功删除了表格中的记录。我唯一的问题是,我希望它在删除之前提示用户确认操作。

{{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()}}

3 个答案:

答案 0 :(得分:8)

您可以尝试这样的事情:

STEP - 1

首先,您需要使用链接标记bootstrap.cssjQuery文件添加bootstrap.js文件,并在网页的head部分使用脚本标记。在bootstrap的网站上,您可以找到有关此内容的详细信息。如果您不想使用完整的引导程序框架,也可以从此处构建包含所选组件的自定义文件。

STEP - 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">&times;</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();
  });

STEP - 3

现在,在您要使用此确认模式对话框的任何页面中,只需使用require_onceinclude_once包含它:

// other code
require_once('delete_confirm.php');

STEP - 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

答案 1 :(得分:2)

'onsubmit' => "return confirm('Are you sure you want to delete?')"内使用Form::open

{{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()}}

答案 2 :(得分:1)

在表单中添加ID或类,并使用javascript来捕获表单提交操作。提示用户,如果他们确认,请使用javascript提交表单。

在没有javascript的情况下执行此操作的另一种方法是创建一个提示用户确认删除的视图。您的删除按钮将成为确认页面的链接,确认页面将包含此表单。