我想在删除按钮上添加确认对话框,询问用户是否确定删除所选项目。
如果不确定,则不应发生任何事情,否则应执行一个URL。
我知道可以通过一些JavaScript代码来实现这个功能,但我正在寻找一种更简洁的解决方案。例如:
<a href="mysite.de/xy/delete" onClick="...">Delete</a>
是否可以在onClick
元素中放置整个功能而不需要在页眉中添加额外的Javascript代码?
我想在删除按钮上添加确认对话框,询问用户是否确定删除所选项目。
如果不确定,则不应发生任何事情,否则应执行一个URL。
我知道可以通过一些JavaScript代码来实现这个功能,但我正在寻找一种更简洁的解决方案。例如:
<a href="mysite.de/xy/delete" onClick="...">Delete</a>
是否可以在onClick
元素中放置整个功能而不需要在页眉中添加额外的Javascript代码?
您可以像这样使用 return
返回 confirm()
(它返回 true
/false
):
<a href="mysite.de/xy/delete" onClick="return confirm('You sure??');">Delete</a>
DELETE
而不是GET
或POST
... - wprl<a href="#"
onclick="if confirm('Sure?') { window.location='http://mysite.de/xy/delete';}">
Click to delete
</a>
这至少可以防止链接在没有JavaScript的情况下起作用。这还可以减少链接意外被Google或某些本地插件爬行的风险。(假设您有一个插件,会尝试在悬停链接时加载/显示缩略图)!)
然而,这个解决方案并不理想。您实际上将浏览到该网址,并且由于此原因,该网址可能会在历史记录中显示出来。您甚至可能会误删除Bob,然后通过单击浏览器中的“后退”意外删除该Bob!
更好的选择是使用JavaScript或表单来发布所需操作。您可以使用POST方法或更好的DELETE方法向服务器发出请求。这样应该也可以防止URL被索引。
<a href="home" class="confirm">Go to home</a>
JS代码:
$('.confirm').confirm();
<button type="submit" id="btn">Delete</button>
调用对话框:
var myBtn = document.getElementById('btn');
myBtn.addEventListener('click', function(event) {
bootbox.confirm({
size: "small",
message: "Are you sure?",
callback: function (result) {
/* result is a boolean; true = OK, false = Cancel*/
if (result == true) {
alert("ok pressed");
}
else {
alert("cancel pressed");
}
}
})
});