以下代码
<script type="text/javascript">
$(document).ready(function(){
$("#erase").click(function(){
confirm('Are you sure you want to erase it?');
var data = {
"post": 123,
};
$("#wrapper").load("<?php echo $url; ?>", data)
});
});
</script>
当用户点击擦除链接时,上面的代码返回一个确认窗口,其中有两个选项Ok和Cancel。但无论他们选择什么(Ok或Cancel),都会调用load()函数。如果用户选择退出操作,如何阻止加载功能?
答案 0 :(得分:3)
你永远不会测试确认。您需要存储confirm()
调用的值,然后对其进行测试:
var proceed = confirm('...');
if (proceed){
// continue on
}
上述方面的缺点是首先避免分配(这也是完全可以接受的):
if (confirm('...')){
// proceed
}
关于window.confirm
的使用示例,MDN上写了很多文章。
答案 1 :(得分:1)
如果您只想在用户点击“确定”时触发该功能,则此处是
的代码$("#erase").click(function(){
if(confirm('Are you sure you want to erase it?')){
var data = {
"post": 123,
};
$("#wrapper").load("<?php echo $url; ?>", data)
}
});
答案 2 :(得分:0)
confirm()
如果单击“确定”则返回true,如果单击“取消”则返回false。在继续之前检查值。
if (confirm('Are you sure you want to erase it?'))
{
var data = {
"post": 123,
};
$("#wrapper").load("<?php echo $url; ?>", data)
}
答案 3 :(得分:0)
'confirm'JS-Function应该返回一个布尔值,无论用户选择'Ok'还是'Cancel'。 只需替换
confirm('Are you sure you want to erase it?')
与
if( !confirm('Are you sure you want to erase it?') )
return;
希望有所帮助!
答案 4 :(得分:0)
快速帮助你。 http://jsfiddle.net/yPkuZ/
您需要保存对其结果的响应和操作
$(document).ready(function() {
$("#erase").click(function() {
reply = confirm('Are you sure you want to erase it?');
if (reply) {
var data = {
"post": 123,
};
$("#wrapper").load("<?php echo $url; ?>", data)
} else {
alert('do nothing');
}
});
});