如何停止在Hubspot上提交表单?

时间:2018-09-27 09:59:57

标签: javascript jquery hubspot

我有一张表格,如果您输入公司名称并且验证正确,它将重定向到公司页面,但是如果拼写错误的公司名称或公司名称不可用,则会显示错误。现在验证工作正常,但表单提交没有停止,它向我显示谢谢消息。

我尝试了return false,也尝试了e.preventDefault();,但是它们都没有起作用。表单通过ajax提交数据。

这是JS代码

$(window).load(function() {
    var gett;
    var op_value = [];
    var op_urls = [];
    var op_spell = [];
    $(".hs_company input").keyup(function() {
        gett = $(this).val().replace(/\s/g, '');
        $('.sidebar-form input[type=hidden]').val(gett).change();
    });

    $(".sidebar-form form").on("submit", function(e) {
        e.preventDefault();
        $('.hs_company_list option').each(function() {
            op_spell.push($(this).text().substring(0, 3));
            op_value.push($(this).text().replace(/\s/g, ''));
            op_urls.push($(this).val());
        });
        var sliced_str = gett.substring(0, 3);
        if ($.inArray(gett, op_value) !== -1) {
            var op_data = $.inArray(gett, op_value);

            setInterval(function() {
                window.location.href = op_urls[op_data];
            }, 2000);
            return false;
        } else if ($.inArray(sliced_str, op_spell) > -1) {

            $(".sidebar-form .hs-button").before("<label>Misspelled Company Name<label>");

            return false;
        } else {

            $(".sidebar-form .hs-button").before("<label>Company Not Found<label>");

            return false;
        }
        return false;
    });
});

1 个答案:

答案 0 :(得分:1)

提交事件后,必须在表单上禁用它。在您的代码$(".sidebar-form form").submit(function(e)中,您将自动提交表单。您可以在提交时使用,也可以尝试在功能中添加条件。前例:

有条件:

$(".sidebar-form form").submit(function () {

    var form = $(".sidebar-form form");

    if (form.validate() === true) {
        $(this).submit(function () {
            return false;
        });
        return true;
    }
    else {
        return false;
    }
});

或在提交时:

$(".sidebar-form form").on("submit", "form", function() {
$(this).submit(function() {
    return false;
});
return true;
});