在ajaxForm错误回调中的表单对象

时间:2009-09-14 15:06:11

标签: jquery forms ajaxform

我正在尝试在ajaxForm的错误方法中访问我的表单对象:

$('#foo').ajaxForm({
  error: function(){
    // where's my $('#foo') object?
  }
});

错误可能需要3个参数,但它们都不是表单对象,也会返回url,但是没有形式。

有什么建议吗?

4 个答案:

答案 0 :(得分:4)

整蛊,为什么不使用:

var myForm = $("#foo");

myForm.ajaxForm({
 error: function(){
  myForm.//whatever
 }
});

如果有另一种方式,我很想知道自己。

答案 1 :(得分:1)

ajaxForm 中,可以在beforeSubmit部分中访问表单元素本身:

$('#foo').ajaxForm({

   beforeSubmit: function(formData, jqForm) {
        var myform = jqForm[0];
        /*
         If there are multiple forms in the selector, 
        each form is accessible with its order in the array
        */
   }

  error: function(){
    // where's my $('#foo') object?
    //It is here: myform
  }
});

答案 2 :(得分:0)

如果您在该插件的文档中阅读了“使用字段”标签,我想您会找到答案。

为了提高性能,您可能应该在绑定ajaxForm之前存储对表单的引用。

$(document).ready(function() {
    $foo = $('#foo');
    $foo.ajaxForm({
        error: function() {
            alert($('#fieldId', $foo).fieldValue()[0]);
        }
    });
});

答案 3 :(得分:-2)

this不起作用吗?即,

$('#foo').ajaxForm({
  error: function(){
    alert($(this).attr('name'));
  }
});