返回false后,确认对话框不起作用

时间:2013-01-04 14:41:44

标签: javascript preventdefault

我有一个基本的javascript确认对话框,用于确认用户是否要继续操作。如果用户只需单击“确定”或“取消”,则对话框可正常工但是,如果用户单击“取消”,则重新触发该对话框,然后单击“确定”,表单未提交。

我在下面提供了我的代码,当我在这里做什么时,有更好的方法来处理这个问题吗?

$("#myButton").click(function (event) {
    var result = confirm("Are you sure?");
    if (result) {
        return true;
    } else {
        return false;
    }
});

请注意,我也尝试event.preventDefault代替return false,我看到的结果相同。

2 个答案:

答案 0 :(得分:2)

如果您正在尝试确认表单提交,请尝试使用

$("form").submit(function () {
    return confirm("Are you sure?");
});

答案 1 :(得分:2)

现在我可能会得到你想要达到的目标。 只需将事件绑定到表单提交处理程序而不是按钮单击。如果用户使用他的键盘等发送表单,这也会触发。

<form id="wohoo" action="/somewhere">
    <input />
    <input type="submit" value="send me"/>
</form>​

$("#wohoo").submit(function () {
    var result = confirm("Are you sure?");

    return result;
});​

http://jsfiddle.net/2tSbJ/