繁体   English   中英

JavaScript返回false无效

[英]JavaScript return false is not working

我正在尝试将Google隐形reCAPTCHA与AJAX结合使用。 但是,returne false无效。

JS:

function onSubmit(token) {
        var siteurl= 'http://localhost/test/';
        document.getElementById("register").submit();
        var formdata = $('.register').serialize();
        $.ajax({
                method: "POST",
                url: siteurl+"app/ajax/test.php",
                data: formdata
            })
            .done(function( msg ) {
                alert(msg);

            });
        return false
    }

HTML:

<form id="register" action="" method="post" class="register">
 <input class="for-1" type="text" name="field" >
 <input class="g-recaptcha" data-sitekey="6LfCqCAUAAAAAAjaAg5w_mHK" data-callback='onSubmit' type="submit" value="Submit">
</form>

此代码运行良好,但不会返回false。 我正在等待帮助,谢谢。

好吧,如果您不希望在提交表单时避免重新加载页面

我建议您使用此流程

1->不再需要data-callback='onSubmit'属性

2->删除函数onSubmit并将其替换为事件监听器

如果正在提交表单注册,此代码将监听

  $(document)
    .off('submit', '.register')
    .on('submit', '.register', function(e) {
        /** Do what you want when submitting the form **/
        var siteurl= 'http://localhost/test/';
        var formdata = $('.register').serialize();
        $.ajax({
                method: "POST",
                url: siteurl+"app/ajax/test.php",
                data: formdata
            })
            .done(function( msg ) {
                alert(msg);

            });

        /** prevent form from submitting to your form action page **/
        e.preventDefault();
    });

3->还有document.getElementById("register").submit(); 删除此内容,因为您的表单已经提交

e.preventDefault(); 此行的作用是阻止表单提交到表单操作页面

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM