Javascript 通过AJAX发送表单时出错

Javascript 通过AJAX发送表单时出错,javascript,jquery,forms,Javascript,Jquery,Forms,我对jQuery非常陌生,我正在寻找解释为什么这段代码似乎不起作用。我认为这是与行动不确定的东西。有人能帮我理解我的错误吗。谢谢 <script src="/jquery.validationEngine.js"></script> <script> $("#contact_body").submit(function(e) { e.preventDefault(); // Prevents the page from refreshi

我对jQuery非常陌生,我正在寻找解释为什么这段代码似乎不起作用。我认为这是与行动不确定的东西。有人能帮我理解我的错误吗。谢谢

<script src="/jquery.validationEngine.js"></script>
<script>
    $("#contact_body").submit(function(e) {
        e.preventDefault(); // Prevents the page from refreshing

        var $this = $(this); // `this` refers to the current form element

        if ($("#contact_body").validationEngine('validate')) {
            //Post Data to Node Server
            $.post(
                $this.attr("action"), // Gets the URL to sent the post to
                $this.serialize(), // Serializes form data in standard format
                function(data) { /** code to handle response **/ },
                "json" // The format the response should be in
            );

            //Notify User That the Email Was Sent to the Server & Thanks!
            //$('#contactThanksModal').modal('show');
            $('#contactModal').modal('hide');
            alert("success"); 
        }
        else {
            //handle Invalid Email Format Error
            alert("error"); 
        }
    });
</script> 
->
您需要将JQuery脚本包装到

$(document).ready(function() {
    ...your_code_here...
});
这将等待整个文档加载,然后再尝试将事件附加到对象


如果不这样做,您可能会试图将事件绑定到尚未创建的对象。

您需要将代码放入一个文档就绪的处理程序中:

<script src="/jquery.validationEngine.js"></script>
<script>
    $(function() {
        $("#contact_body").submit(function(e) {
            // your code...
        });
    });
</script> 

您的代码当前正在尝试在DOM中存在元素之前添加提交处理程序。

验证代码时出现问题,我仍在处理它