Javascript jquery preventDefault on alert,如果alert=ok,则发送

Javascript jquery preventDefault on alert,如果alert=ok,则发送,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我正在尝试创建一个警报,以确保用户提交了正确的信息,如果单击“确定”而不是“取消”,则会单击链接并发送。我已接近完成,警报将激活,但如果单击“确定”,则不会激活。不幸的是,我还不是一个js向导 编辑: 单击=>preventDefault=>alert(是,否),如果是(发送),如果否,则不发送 jQuery(文档).ready(函数($){ $(“input.btn默认值”)。单击(函数(e){ e、 预防默认值(); var answer=confirm('您确定要这样做吗?'); 如果(

我正在尝试创建一个警报,以确保用户提交了正确的信息,如果单击“确定”而不是“取消”,则会单击链接并发送
。我已接近完成,警报将激活,但如果单击“确定”,则不会激活。不幸的是,我还不是一个js向导

编辑:

单击=>preventDefault=>alert(是,否),如果是(发送),如果否,则不发送


jQuery(文档).ready(函数($){
$(“input.btn默认值”)。单击(函数(e){
e、 预防默认值();
var answer=confirm('您确定要这样做吗?');
如果(答案==真){
///不知道如何删除阻止默认和发送链接?!
}
否则{
返回;
}
});
});

使用
return false尝试以下代码如果用户取消确认对话框和
窗口。打开($(this.att('href'))当用户单击“确定”时打开链接:

$("input.btn-default").click(function(e)
{
    e.preventDefault();

    if( confirm('Are you sure that you want to do this?') )
    {
        window.open( $(this).att('href') );
    }
    else
    {
       return false;
    }
});
希望这有帮助。

confirm()
是模态的,所以您只需要检查
answer

jQuery(document).ready(function ($) {
    $("input.btn-default").click(function (e) {
        var answer = confirm('Are you sure that you want to do this?');
        if (!answer) {
            e.preventDefault();
        }
    });
});

防止
else
中出现默认行为,或从
else
块返回false
confirm()
方法是模态的,所以您不必担心排队事件。也就是说,在
if
块中,可以使用
$(this).off('click')。click()或设置
e.preventDefault()
else
块中
window.open()
可能有不同于单击主播的行为,我的答案基于OP描述,链接被单击并发送。是的,但通过单击某些链接,您将打开一个新的选项卡/窗口或在同一页面上重定向,具体取决于浏览器配置、用户首选项、用户按住ctrl键等。。。。现在
window.open()
可能会做出不同的反应。编辑:好的,我明白你的意思,但我猜这个问题问错了。OP实际上似乎想停止阻止违约行为。编辑2:当然,我可能完全错了。。。但是在评论中:
///不确定如何删除“防止默认”和“发送”链接
:)好的@A.Wolff谢谢你的解释,不管怎样,我们这里有两个案例,让他选择适合自己需要的答案。对不起,我的意图不是制造挫折感,这已经在问题中暗示了!我使用了@A.Wolff之前的答案,最新的答案有效。谢谢你们。我使用了这个“$”(“input.btn default”)。单击(函数(e){e.preventDefault();var-answer=confirm('您确定要这样做吗?');if(answer==true){$(this.off('单击')。单击();}否则{return false;}});})`从这两个方面看,它都起作用了,但我还没有在不同的浏览器中尝试。
confirm()
在所有浏览器上都是模态的,您应该像在这个答案中一样检查答案,因为用户可以在单击锚定时按住ctrl或shift键。使用您的修复程序,这将产生不同于预期的行为,我稍后将添加到此脚本中,但我将使用它来确保如果用ctrl键单击它,它将正确触发。再次感谢。我正在使用,但我只是复制并粘贴了我的环境;)
jQuery(document).ready(function ($) {
    $("input.btn-default").click(function (e) {
        var answer = confirm('Are you sure that you want to do this?');
        if (!answer) {
            e.preventDefault();
        }
    });
});