2009-09-14 4 views
3

Я пытаюсь получить доступ к моей форме объекта внутри метода ошибки ajaxForm в:форма объекта внутри ajaxForm ошибки обратного вызова

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

ошибка может принять 3 Params, но ни один из них не являются формой объекта, также это возвращается url, но опять нет формы.

Любые предложения?

ответ

3

Tricky, почему бы не использовать:

var myForm = $("#foo"); 

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

Если есть другой путь, я хотел бы знать себя.

+1

Приятно, что успех/beforeSubmit все имеют прямой доступ к объекту формы и раздражают, что ошибка не согласуется с этим. – jsharpe

+0

@crankharder: Вы правы, это может стать очень запутанным. –

+0

Это работает, но если у вас есть страница с несколькими формами, вы бы не смогли извлечь нужную. – Yehosef

-1

this не работает? Т.е.,

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

@indedmn: Похоже, что это ключевое слово в обратном вызове относится к URL-адресу. См. OP ... –

0

Если вы читаете вкладку «Работа с полями» в документах плагина, я думаю, вы найдете ответ.

Для обеспечения производительности вы должны, вероятно, сохранить ссылку на форму, прежде чем связывать ajaxForm.

$(document).ready(function() { 
    $foo = $('#foo'); 
    $foo.ajaxForm({ 
     error: function() { 
      alert($('#fieldId', $foo).fieldValue()[0]); 
     } 
    }); 
}); 
Смежные вопросы