嗨,伙计们,我目前正在使用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的方式,任何帮助将不胜感激!多谢你们! :)
答案 0 :(得分:1)
因为点击次数应位于可以简化您的功能,考虑<a>
,而不是<i>
。此外,confirm
返回true
或false
:
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
处理程序放在链接上,这是执行默认操作?