Объект формы внутри обратного вызова ошибки ajaxForm
Я пытаюсь получить доступ к моему объекту формы внутри метода ошибки ajaxForm:
$('#foo').ajaxForm({
error: function(){
// where's my $('#foo') object?
}
});
Ошибка может принимать 3 параметра, но ни один из них не является объектом формы, также это возвращает URL-адрес, но опять-таки никакой формы.
Какие-либо предложения?
3 ответа
Решение
Хитрый, почему бы не использовать:
var myForm = $("#foo");
myForm.ajaxForm({
error: function(){
myForm.//whatever
}
});
Если есть другой способ, я хотел бы знать себя.
В 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
}
});
Если вы прочтете вкладку "Работа с полями" в документации этого плагина, я думаю, вы найдете свой ответ.
Для повышения производительности вам, вероятно, следует сохранить ссылку на форму перед привязкой ajaxForm.
$(document).ready(function() {
$foo = $('#foo');
$foo.ajaxForm({
error: function() {
alert($('#fieldId', $foo).fieldValue()[0]);
}
});
});
Есть ли this
не работа? То есть,
$('#foo').ajaxForm({
error: function(){
alert($(this).attr('name'));
}
});