2016-11-15 5 views
2

複数のファイル(私の場合はイメージ)を選択できる入力フィールドがあります。問題は、その1つ以上のファイルを選択するとgoogle chromeにのみ表示されることです。しかし、それはIE上でうまく動作するので、どこから問題が発生しているのか分かりません。何か案が?選択したすべてのファイルを表示

<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data"> 
    <label class="btn btn-primary" for="my-file-selector"> 
    <input id="my-file-selector" type="file" name="files[]" style="display:none;" multiple onchange="$('#upload-file-info').html($(this).val());">Browse</label> 
    <span class='label label-info' id="upload-file-info"></span> 
    <div style="float:right;"> 
     <label class="btn btn-primary" for="my-file-selector2"> 
     <input id="my-file-selector2" type="Submit" style="display:none;" name="search">Import</label> 
    </div> 
</form> 
+0

これは、複数の属性のサポートが開始されて以来、Chromeがバージョン6.0以降ではないということだけです。私は理由が不思議です。 – Roy123

+0

私の答えは '$(this).val();'を使ってファイルを表示しますが、 'prop( 'files')'を使用して各ファイルを別々にループする必要があります。 – Timmetje

答えて

1

これはお使いのブラウザとは関係ありません。

​​

$(this).prop('files');アップロードされたすべてのファイルがFileListオブジェクトとして含まれています。

ループファイルのプロパティおよびブラウザの仕様では、ファイルに関するお#upload-file-info

$('#my-file-selector').on('change', function(e){ 
 
    $('#upload-file-info').html(""); //clear the info before appending 
 
    var files = $(this).prop('files'); 
 
    for (var i = 0; i < files.length; i++) { 
 
    \t $('#upload-file-info').append(files[i].name); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form action="" method="post" enctype="multipart/form-data"> 
 
    <label class="btn btn-primary" for="my-file-selector"> 
 
    <input id="my-file-selector" type="file" name="files[]" style="display:none;" multiple>Browse</label> 
 
    <span class='label label-info' id="upload-file-info"></span> 
 
    <div style="float:right;"> 
 
     <label class="btn btn-primary" for="my-file-selector2"> 
 
     <input id="my-file-selector2" type="Submit" style="display:none;" name="search">Import</label> 
 
    </div> 
 
</form>

詳しい情報にすべての名前を入れて:

FileAPI reference
files property reference

+0

ありがとう!完全に動作しました – Bobby

+0

問題ありません;) 'multiple'属性はIE10から正しく動作します – Timmetje

-3

ブラウザの選択でアンプの仕様を試してみよう

関連する問題