代码之家  ›  专栏  ›  技术社区  ›  Harsha M V

Jquery Ajax提交前

  •  1
  • Harsha M V  · 技术社区  · 14 年前

    我正在尝试使用Ajax表单提交。在BeforeSubmit函数中。我想得到提交表格的身份证。

    function StatusComments() {
    
        $('.status-comment').submit(function() {
            $(this).ajaxSubmit(options);
            return false;
        });
    
        //$('.status-comment').ajaxForm(options);
    
    
        var options = {
            beforeSubmit: showRequest,
            success: showResponse,
            resetForm: true
        };
    
        function showRequest(formData, jqForm, options) {
            var formID = $(this).attr("id");
            alert(formID);
            $('.comment'+formID).attr('disabled', true);
    
        }
    
        function showResponse(responseText, statusText, xhr, form) {
            var formID = form.attr('id');
            $("#commentbox-"+formID).before(responseText);
        }
    
    }
    

    但我在showRequest中得到了未定义的formID:(

    1 回复  |  直到 14 年前
        1
  •  4
  •   T.J. Crowder    14 年前

    The documentation for the plug-in 说表单实例将在 jqForm 参数(并且已经是jQuery实例),而不是 this . 所以:

    function showRequest(formData, jqForm, options) {
        var formID = jqForm.attr("id"); // <== Change on this line
        alert(formID);
        $('.comment'+formID).attr('disabled', true);
    }
    

    这不是jQuery风格的回调通常的工作方式,因此您会感到困惑,但文档就是这么说的。