如何使用javascript中的preventDefault删除默认操作?

问题描述 投票:0回答:2

在我的代码的else条件下,我想删除preventDefault()并提交表单。

我不知道要这样做吗?

if(email.val() != ""){
            //check email
            e.preventDefault();
            $.ajax({
                type: 'post',
                url: '/register/check-email',
                data: {email: email.val()},
                success: (data) => {
                    console.log(data);
                    if(data == 1){
                        name.css('border', '1px solid #248ea9');
                        email.css('border', '1px solid red');
                        $("div.wrapper div.right div.form form small.error-name").hide();
                        $("div.wrapper div.right div.form form small.error-email").hide();
                        $("div.wrapper div.right div.form form small.error-email-found").show();
                    }else{
                        //remove preventDefault()
                    }
                }
            })
        }
javascript jquery node.js ajax
2个回答
1
投票

我想您在表单的按钮中执行了e.preventDefault (),这将阻止提交表单,如果要继续提交,可以直接使用表单的submit()方法,如下所示:

if(email.val() != ""){
            //check email
            e.preventDefault();
            $.ajax({
                type: 'post',
                url: '/register/check-email',
                data: {email: email.val()},
                success: (data) => {
                    console.log(data);
                    if(data == 1){
                        name.css('border', '1px solid #248ea9');
                        email.css('border', '1px solid red');
                        $("div.wrapper div.right div.form form small.error-name").hide();
                        $("div.wrapper div.right div.form form small.error-email").hide();
                        $("div.wrapper div.right div.form form small.error-email-found").show();
                    }else{
                        //remove preventDefault()
                        // get form and submit
                        $("#form").submit()
                    }
                }
            })
        }

0
投票

无论您将e.preventDefault()放在底部还是底部,它的作用都相同。

如果您对表单有操作,则可以在开始提交功能块之后立即将其放到上面。

var submit = function (e) {
    e.preventDefault()
}

我不太了解您的情况,但是您可以使用其他方法,例如:

e。 stopPropagation();

e.stopImmediatePropagation();

供进一步阅读:https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault

© www.soinside.com 2019 - 2024. All rights reserved.