Получите идентификатор формы с помощью плагина jQuery ajaxForm и загрузите индикатор выполнения

У меня есть несколько форм на одной странице, которые отправляются с помощью ajaxForm и показывают ход загрузки. Каждая форма имеет один и тот же класс «.input_form», уникальный идентификатор и скрытое поле ввода с именем и классом «категория» с уникальным значением. Вот исходный пример: http://jquery.malsup.com/form/progress.html< /а>

    var bar = $('.bar');
var percent = $('.percent');
var status = $('#status');

$('.input_form').ajaxForm({
    beforeSend: function() {
        status.empty();
        var percentVal = '0%';
        bar.width(percentVal)
        percent.html(percentVal);
    },
    uploadProgress: function(event, position, total, percentComplete) {
        var percentVal = percentComplete + '%';
        bar.width(percentVal)
        percent.html(percentVal);
    },
    complete: function(xhr) {
        status.html(xhr.responseText);
        $('#activity_feed_load').load(querybuild());
        $('.wall_cat_selected').removeClass('wall_cat_selected');
        $('.input_form, .arrow').hide();
        var percentVal = '0%';
        bar.width(percentVal)
        percent.html(percentVal);
        $('.input_form').resetForm();
    }
});     

В полной функции я хотел бы получить идентификатор отправленной формы или значение скрытого поля в отправленной форме. Я пробовал следующее, что не сработало.

var value = $('.input_form .category').fieldValue(); alert('The category is: ' + value[0]); 

По сути, я не уверен, как получить ($ this) для отправленной формы.

Спасибо за вашу помощь!

Хорошо, я только что узнал, как это сделать, из связанного с этим вопроса SO здесь:

как использовать $(this) в плагине jquery ajaxform

По сути, мне просто нужно было добавить следующее к моей функции ajaxForm:

success: function(html, status, xhr, myForm) {   
        alert(myForm.attr('id'));

    }

Надеюсь, это поможет кому-то еще.


person Jeff    schedule 27.03.2012    source источник


Ответы (1)


Хорошо, я только что узнал, как это сделать, из связанного с этим вопроса SO здесь:

как использовать $(this) в плагине jquery ajaxform

По сути, мне просто нужно было добавить следующее к моей функции ajaxForm:

success: function(html, status, xhr, myForm) {   
        alert(myForm.attr('id'));

    }

Надеюсь, это поможет кому-то еще.

person Jeff    schedule 28.03.2012