Javascript删除验证“是”还是“取消”

时间:2013-08-01 02:34:17

标签: javascript codeigniter

嗨,伙计们,我目前正在使用javascript中的删除验证功能。这是我的代码。

  function confirmDelete(){
var agree = confirm("Are you sure you want to delete this file?");
  if(agree == true){
    return true
}
else{
return false;
}
}

出现警告对话框,但每当我按“取消”按钮时,它仍会删除表格中的文件

这是我的HTML:

<a href=".base_url()."main/delete?id=$row->id>"."<i class='icon-trash' rel = 'tooltip' title = 'Delete' id = 'delete' onClick = 'confirmDelete();'></i></a>";

我正在使用CodeIgniter的方式,任何帮助将不胜感激!多谢你们! :)

4 个答案:

答案 0 :(得分:1)

因为点击次数应位于<a>,而不是<i>。此外,可以简化您的功能,考虑confirm返回truefalse

function confirmDelete(){
    return confirm("Are you sure you want to delete this file?");
}

答案 1 :(得分:1)

直接在您的代码中执行此操作:

   <a href=".base_url()."main/delete?id=$row->id>"  OnClick="return confirm('Are you sure you want to delete this book?');"> Delete </a>

答案 2 :(得分:1)

尝试使用return语句调用javascript函数。 如下所示:

<a href=".base_url()."main/delete?id=$row->id>"."<i class='icon-trash' rel = 'tooltip'   title = 'Delete' id = 'delete' onClick = 'return confirmDelete();'></i></a>";

答案 3 :(得分:0)

调用event.preventDefault(),如果单独返回false则不会阻止浏览器操作。

您需要获取对事件的引用或window.event ..这有点特定于浏览器。 jQuery或类似的东西可以帮助解决这个问题。

onclick="if (! confirm('Are you sure you want to delete this book?')) event.preventDefault();"

(虽然,在上面的例子中,我们不再返回'false' - 理想情况下,我们将代码放在一个方法中,并返回false 以防止默认值确认是否定的。)

为了测试它是否有效,最简单的是:

onclick="event.preventDefault();"

另见:

返回'false'和e.preventDefault() will prevent the default event from occuring, e.stopPropagation()`之间的区别是防止它向上/向外冒泡&amp;发生外部默认值,但返回“false”并不会阻止它冒泡。

所以也许最好将onclick处理程序放在链接上,这是执行默认操作?