0

jQuery-File-Upload の fileuploaddone コールバックを使用して、非表示の入力をフォームに挿入してサーバーに送信しています。

$('#fileupload').bind('fileuploaddone', function (e, data) {
    $.each(data.files, function (index, file) {
        $('<input type="hidden" name="file' + index + '" value="' + file.name + '">').appendTo('#fileupload');
    }); 
});

問題は、カウンターindexが増加しないことです。私のフォームに挿入されるもの:

<input type="hidden" name="file0" value="filename.png">
<input type="hidden" name="file0" value="filename2.png">
etc

別のカウンターを使用しようとしました:

$('#fileupload').bind('fileuploaddone', function (e, data) {
    var i = 0;
    $.each(data.files, function (index, file) {
        $('<input type="hidden" name="file' + i + '" value="' + file.name + '">').appendTo('#fileupload');
        i++;
    }); 
});

しかし、結果は同じです。トリックは何ですか?

4

1 に答える 1

0

コレクションdata.filesにはそれぞれ1つのオブジェクトしか含まれていないため、カウンター/インデックスが増加しないのはなぜですか。

次の行を見てください。

$('#fileupload').bind('fileuploaddone', function (e, data) {

ファイルごとにイベント「fileuploaddone」が発生しています。

于 2013-03-18T17:24:43.680 に答える