停止Javascript多次提交表单

时间:2014-10-09 02:09:48

标签: javascript jquery

我有一个表单,我提交给Parse,在我添加了一些客户端验证后,它会继续双重提交到数据库。

我已经阅读了关于这个主题的其他一些Stack帖子并调整了我的代码,但它仍然在发生(我刚开始学习JS)。任何关于如何解决这个问题的建议将不胜感激。谢谢!

$(document).ready(function() {

  Parse.initialize("XXXX", "XXXX");

  $('#commentForm').bootstrapValidator({

    feedbackIcons: {
        valid: 'glyphicon glyphicon-ok',
        invalid: 'glyphicon glyphicon-remove',
        validating: 'glyphicon glyphicon-refresh'
    },
    fields: {
        username: {
            message: 'The username is not valid',
            validators: {
                notEmpty: {
                    message: 'The username is required and cannot be empty'
                }
            }
        }
    }
  });

  $("#commentForm").on("submit", function(e) {
    $(this).submit(function() {
        return false;
    });

    e.preventDefault();

    console.log("Handling the submit");
    //add error handling here
    //gather the form data

    var data = {};
    data.username = $("#username").val();
    data.password = $("#password").val();
    data.passwords = $("#password").val();
    data.email = $("#email").val();
    // data.area = $("#area option:selected").val();
    // data.comments = $("#comments").val();

    var comment = new Parse.User();
    comment.save(data, {
        success:function() {
            console.log("Success");
            alert("Thanks for signing up!");
        },
        error:function(e) {
            console.dir(e);
        }
    });

  });

});

1 个答案:

答案 0 :(得分:0)

这可能是因为表单提交功能中的第二个submit函数,所以请尝试删除:

$(this).submit(function() {
    return false;
});