سؤال

أحاول الوصول إلى كائن النموذج الخاص بي داخل طريقة خطأ ajaxForm:

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

يمكن أن يستغرق الخطأ 3 معلمات، لكن لا أحد منهم يمثل كائن النموذج، كما يؤدي هذا أيضًا إلى إرجاع عنوان url، ولكن مرة أخرى لا يوجد نموذج.

أي اقتراحات؟

هل كانت مفيدة؟

المحلول

وصعب، لماذا لا تستخدم:

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'));
  }
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top