2

1ページにいくつかのフォームがあり、ajaxFormを使用して送信され、アップロードの進行状況が表示されます。各フォームには、同じクラス'.input_form'、一意のID、および名前とクラスが一意の値を持つ'category'の非表示の入力フィールドがあります。元の例は次のとおりです: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();
    }
});     

完全な関数で、送信されたフォームのIDまたは送信されたフォームの非表示フィールドの値を取得したいと思います。うまくいかなかった以下を試してみました。

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

基本的に、送信されたフォームを取得する方法($ this)がわかりません。

ご協力いただきありがとうございます!

わかりました、私はここで関連するSOの質問からこれを行う方法を見つけました:

jquery ajaxformプラグインで$(this)を使用する方法

基本的に、ajaxForm関数に以下を追加する必要がありました。

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

    }

これが他の誰かに役立つことを願っています。

4

1 に答える 1

2

OK、関連するSOの質問からこれを行う方法を見つけました:

jquery ajaxformプラグインで$(this)を使用する方法

基本的に、ajaxForm 関数に以下を追加する必要がありました。

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

    }

これが他の誰かに役立つことを願っています。

于 2012-03-28T22:16:16.550 に答える