objeto de formulario dentro de la devolución de llamada de error ajaxForm
Pregunta
Estoy intentando acceder a mi objeto de formulario dentro del método de error de ajaxForm:
$('#foo').ajaxForm({
error: function(){
// where's my $('#foo') object?
}
});
El error puede tomar 3 parámetros, pero ninguno de ellos es el objeto de formulario, también esto devuelve la url, pero nuevamente no hay formulario.
¿Alguna sugerencia?
Solución
Tricky, por qué no usar:
var myForm = $("#foo");
myForm.ajaxForm({
error: function(){
myForm.//whatever
}
});
Si hay otra forma, me encantaría conocerme a mí mismo.
Otros consejos
En ajaxForm se puede acceder al elemento del formulario en la sección 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
}
});
Si lees la pestaña 'Trabajar con campos' en los documentos de ese complemento, creo que encontrarás tu respuesta.
Para el rendimiento, probablemente debería almacenar una referencia al formulario antes de vincular el ajaxForm.
$(document).ready(function() {
$foo = $('#foo');
$foo.ajaxForm({
error: function() {
alert($('#fieldId', $foo).fieldValue()[0]);
}
});
});
¿ this
no funciona? Es decir,
$('#foo').ajaxForm({
error: function(){
alert($(this).attr('name'));
}
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow