如何用javascript提交表单并防止默认

如何用javascript提交表单并防止默认,javascript,html,ajax,forms,Javascript,Html,Ajax,Forms,如何用javascript提交表单并防止默认 到目前为止,我的html表单(id=“contact_form”)有一个,当它被点击时,我会用以下代码在js中正确捕获它: $(document).ready(function() { $("#contact_form").submit(function(e) { e.preventDefault(); $.ajax( { type: this.method,

如何用javascript提交表单并防止默认

到目前为止,我的html表单(id=“contact_form”)有一个
,当它被点击时,我会用以下代码在js中正确捕获它:

$(document).ready(function()
{
    $("#contact_form").submit(function(e)
    {
        e.preventDefault();
        $.ajax(
        {
            type: this.method, 
            url: this.action, 
            data: new FormData(this), 
            processData: false, 
            contentType: false, 
            success: function (data) 
            {
                if(data.localeCompare("got your message") === 0)
                {
                    alert(data);
                    window.location = "index.php";
                }
                else
                {
                    alert('Something went wrong, try again later');
                    alert(data);

                }
            }
        });

    });
});
但是,为了添加recaptcha,我替换了

提交

因此,我认为使用下面的代码可以获得相同的结果,但它不在
$(“#contact_form”)中


我通过以下操作修复了它,但我相信有更好的方法

function onSubmit()
{
    $("#contact_form").submit();
}

$(document).ready(function()
{
    $("#contact_form").submit(function(e)
    {
      //alert("enterededde");
        e.preventDefault();
        $.ajax(
        {
            type: this.method,
            url: this.action, 
            data: new FormData(this), .
            processData: false, 
            contentType: false, 
            success: function (data)
            {
                if(data.localeCompare("Got your message") === 0)
                {
                    alert(data);
                    window.location = "index.php";
                }
                else
                {
                    alert('Something went wrong, try again later');
                    alert(data);
                }
            }
        });

    });
});

data callback=“onSubmit”
不会自动将该控件上的单击事件绑定到
onSubmit
-您需要将事件侦听器附加到
$(“.g-recaptcha”)上的单击事件
不管是谁否决了投票,你能解释一下吗?Jaromanda我真的不明白你的意思,你能解释一下吗?当我点击它时,函数被调用了,所以我想剩下的唯一一件事就是用javascript提交表单并防止默认。
function onSubmit()
{
    $("#contact_form").submit();
}

$(document).ready(function()
{
    $("#contact_form").submit(function(e)
    {
      //alert("enterededde");
        e.preventDefault();
        $.ajax(
        {
            type: this.method,
            url: this.action, 
            data: new FormData(this), .
            processData: false, 
            contentType: false, 
            success: function (data)
            {
                if(data.localeCompare("Got your message") === 0)
                {
                    alert(data);
                    window.location = "index.php";
                }
                else
                {
                    alert('Something went wrong, try again later');
                    alert(data);
                }
            }
        });

    });
});