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'));
}
これが他の誰かに役立つことを願っています。