jQuery - 未捕获类型错误:t.append不是函数

时间:2016-09-02 14:39:09

标签: javascript jquery ajax jquery-validate

我目前正在使用jQuery Validate& amp;阿贾克斯。提交时,没有任何反应,页面重新加载 - 因为.append()由于某种原因不是函数?

以下代码。非常感谢任何帮助。

var $contact_form = $('#enquiry-form');
$contact_form.validate({
    errorPlacement: function() {
        return false;
    },
    submitHandler: function($contact_form) {
        $contact_form.append('<img class="loading" src="../../images/site/loading.gif">');

        $.ajax({
            type: "POST",
            url: "../../ajax/contact-form-send.php",
            data: $contact_form.serialize(),
            success: function(response) {

                var resp = JSON.parse(response);

                $contact_form.find('input').remove();
                $contact_form.find('textarea').remove();
                $contact_form.append('<p class="status-code ' + resp.status + '">' + resp.msg + '</p>');
            },
            error: function() {
                console.log('Ajax request not received');
            }
        });

        return false; //Stop the redirect after submission via ajax.
    }
});

1 个答案:

答案 0 :(得分:0)

开发人员为表示表单对象的submitHandler函数提供参数。 submitHandler: function(form) {...所以你可以像这样使用它...... data: $(form).serialize()等等。

var $contact_form = $('#enquiry-form');
$contact_form.validate({
    errorPlacement: function() {
        return false;
    },
    submitHandler: function() {
        $contact_form.append('<img class="loading" src="../../images/site/loading.gif">');

        $.ajax({
            type: "POST",
            url: "../../ajax/contact-form-send.php",
            data: $contact_form.serialize(),
            success: function(response) {

                var resp = JSON.parse(response);

                $contact_form.find('input').remove();
                $contact_form.find('textarea').remove();
                $contact_form.append('<p class="status-code ' + resp.status + '">' + resp.msg + '</p>');
            },
            error: function() {
                console.log('Ajax request not received');
            }
        });

        return false; //Stop the redirect after submission via ajax.
    }
});