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

gri*_*ter 2 html javascript css jquery bootbox

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

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

bootbox - bootbox文档

以下是我的代码:

这是我的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>";
Run Code Online (Sandbox Code Playgroud)

这是我的jQuery代码部分,包含bootbox调用.

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

Dek*_*kel 6

  1. 您应该阻止单击链接的默认行为(否则浏览器会将您重定向到该链接).
  2. confirm函数应该接收一个回调函数(处理确认的结果).

检查此示例:

$('.confirmation').on('click', function (e) {
  e.preventDefault();
  href = $(this).attr('href');
  return bootbox.confirm('Are you sure?', function(result) {
    if (result) {
      window.location = href
    }
  });
});
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)