对象不支持属性或方法'done'

时间:2014-05-01 15:42:03

标签: jquery ajax

我正在使用' beforeSend'调用一个函数来验证选择框选项是否大于零。如果是,则返回true,否则返回false。到目前为止,非常好。

我遇到的问题是,当它返回错误时,我看到"对象不支持属性或方法'已完成'""在JavaScript调试屏幕中。否则,一切都很好。

function validateForm()
{
    if($('#p_employee').val() == 0)
    {
        $('#errorMessage').text(' *** Please select an employee. ***');
        return false;
    }
    else
    {
        return true;        
    }   
}

function populateEmployeeDiv()
{
    $.ajax
    ({
        type:           "post",
        url:            "populateEmployeeDiv.cfm",
        cache:          false,
        dataType:       "html",
        target:         'employeeDiv',
        data:           {
                            p_employee: $('#p_employee').val()
                        },
        beforeSend:     function() { 
                                        return validateForm();
                                   }
    })
    .done(function(content){

        $('#employeeDiv').html(content);

    })
}

1 个答案:

答案 0 :(得分:2)

这是一个验证表格的奇怪地方?为什么不先验证它,然后如果它有效则执行ajax调用?

function populateEmployeeDiv() {

    if ( validateForm() ) {
        $.ajax({
            type     : "post",
            url      : "populateEmployeeDiv.cfm",
            cache    : false,
            dataType : "html",
            target   : 'employeeDiv',
            data     : { p_employee: $('#p_employee').val() }
        }).done(function(content){
            $('#employeeDiv').html(content);
        });
    }
}