6

マルチアップロードフォームのファイル名を読みたいのですが、Javascriptは最初の項目のみを追加しています。

<input name="upload[]" id="upload" type="file" multiple="multiple">
$("#upload").change(function() {
    $("#upload").each(function() {
        $("#upload_prev").append(this.value);
    });
});
4

1 に答える 1

12

複数のファイル アップロード フィールドは、jQuery ではまだ十分にサポートされていません。filesコレクションにアクセスするには、ネイティブ JavaScript に戻すのが最善の方法です。これを試して:

$("#upload").change(function() {
    var files = $(this)[0].files;
    for (var i = 0; i < files.length; i++) {
        $("#upload_prev").append(files[i].name);
    }
});

フィドルの例

また、ここでは、ファイル名を再選択して新しい行に追加するときに以前のファイルのリストをクリアするなど、修正された例のいくつかの問題を修正しています: http://jsfiddle.net/Vs5Hk/3/

于 2012-04-26T10:06:32.660 に答える