将bootbox.js确认框添加到href链接

时间:2016-11-09 17:55:00

标签: javascript jquery html css bootbox

我使用一些href标签在html表格中的所有行上绘制按钮。当用户单击行按钮时,它将使用HTML GET将用户重定向到另一个包含一些行值的PHP脚本。但是在我当前的实现中,当用户单击按钮时,没有确认。我添加了基本的javascript确认框,但它非常基本,浏览器要求每次都停止弹出警报。

因此,我没有使用普通的javascript,而是找到了专为CSS警报和确认框设计的名为bootbox.js的库。但是当我使用当前的jquery实现应用bootbox方法时,它不起作用!

bootbox - bootbox docs

以下是我的代码:

这是我的href代码,它构成了html链接

echo "<a href='approveone.php?id=$lvid&empno=$empno&ltype=$leavetype&hmd=$leavehmd&dprtmnt=$empdepartment&adminname=$adminusername' class='btn btn-success btn-xs m-r-1em confirmation' >Approve</a>";

这是我的jQuery代码部分,其中包含bootbox调用。

<script type="text/javascript">
    $('.confirmation').on('click', function () {
          return bootbox.confirm('Are you sure?');
    });
</script>

1 个答案:

答案 0 :(得分:5)

  1. 您应该阻止点击链接的默认行为(否则浏览器会将您重定向到该链接)。
  2. confirm函数应该接收回调函数(处理确认结果)。
  3. 检查此示例:

    $('.confirmation').on('click', function (e) {
      e.preventDefault();
      href = $(this).attr('href');
      return bootbox.confirm('Are you sure?', function(result) {
        if (result) {
          window.location = href
        }
      });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script type='text/javascript' src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
    <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.11.2/css/bootstrap-select.min.css">
    
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootbox.js/4.4.0/bootbox.min.js"></script>
    
    <a href='approveone.php?id=$lvid&empno=$empno&ltype=$leavetype&hmd=$leavehmd&dprtmnt=$empdepartment&adminname=$adminusername' class='btn btn-success btn-xs m-r-1em confirmation' >Approve</a>