我的html页面有一个提交按钮,如下所示:
第一个月
当用户单击此按钮时,我需要检测他们是否选择了确定或取消。
我正在尝试使用以下在我的js脚本中运行的代码来做到这一点。
$("body").on('click', '.remove', function(e) {
e.preventDefault()
var _confirm_function = window.confirm;
window.confirm = function() {
var confirmed = _confirm_function.apply( window, arguments );
console.log ( confirmed )
if ( confirmed !== true ) {
console.log ( "user pressed cancel: Some cleanup");
return false
} else {
console.log ( "user pressed ok: Do tasks");
}
}
})
字符串
当页面加载时,第一次点击按钮时似乎不会触发。第二次点击按钮时它会工作,但即使它返回false,它也会继续执行脚本,不会返回false。随后点击按钮似乎会多次触发。
我需要有这个按钮被点击后立即运行,如果取消被选中,它应该停止,不做任何进一步的。
有什么办法可以做到吗?
谢谢
2条答案
按热度按时间cvxl0en21#
假设您的提交按钮(其名称不需要提交)是在一个表单中,
个字符
如果不是一个表单,就把它做成一个按钮:
的字符串
fumotvh32#
你的代码看起来很混乱,window.confirm()本身已经返回了一个布尔值,表明哪个按钮被按下了。为什么不使用它呢?类似这样:
HTML格式
字符串
Javasctipt**
型
将此函数放置在提交按钮中并没有太大意义。提交按钮通常是表单的一部分,并且,正如您现在的代码一样,无论用户的答案如何,都会提交此表单。如果没有表单,则不应该使用提交按钮。参见:HTML submit button onclick code。