<input>タグで複数選択する場合は、'multiple'属性を追加します。
<input type="file" multiple />
<input type="file" >でファイルが選択された際には、onchangeが呼び出されます。 選択されたファイルの情報は、'inputエレメントの'files'プロパティのfileListオブジェクトが保持しています。 'fileList'オブジェクトには、選択されたファイルの情報が配列で格納されています。選択されたファイルの数は 'fileList'オブジェクトの'length'プロパティに格納されます。
<!doctype html> <html> <head> <meta charset="UTF-8"> </head> <body> <h1><input type="file">で複数のファイルを選択する</h1> <font color='red'>(複数の画像ファイルを選択できます)</font> <script type="text/javascript" language="javascript"> <!-- function OnFileSelect( inputElement ) { // ファイルリストを取得 var fileList = inputElement.files; // ファイルの数を取得 var fileCount = fileList.length; // HTML文字列の生成 var fileListBody = "選択されたファイルの数 = " + fileCount + "<br/><br/>¥r¥n"; // 選択されたファイルの数だけ処理する for ( var i = 0; i < fileCount; i++ ) { // ファイルを取得 var file = fileList[ i ]; // ファイルの情報を文字列に格納 fileListBody += "[ " + ( i + 1 ) + "ファイル目 ]<br/>¥r¥n"; fileListBody += "name = " + file.name + "<br/>¥r¥n"; fileListBody += "type = " + file.type + "<br/>¥r¥n"; fileListBody += "size = " + file.size + "<br/>¥r¥n"; fileListBody += "lastModifiedDate = " + file.lastModifiedDate + "<br/>¥r¥n"; fileListBody += "lastModified = " + file.lastModified + "<br/>¥r¥n"; fileListBody += "<br/>¥r¥n"; } // 結果のHTMLを流し込む document.getElementById( "ID001" ).innerHTML = fileListBody; } // --> </script> <input type="file" onchange="OnFileSelect( this );" multiple /> <ul id="ID001" ></ul> </body> </html>
選択されたファイルの数 = 3 [ 1ファイル目 ] name = 5799399857_3ce584569a_z.jpg type = image/jpeg size = 181684 lastModifiedDate = Mon Jul 21 2014 09:34:48 GMT+0900 lastModified = 1405902888352 [ 2ファイル目 ] name = 6363615807_05159e4e4c_z.jpg type = image/jpeg size = 48185 lastModifiedDate = Sun Feb 08 2015 15:17:23 GMT+0900 lastModified = 1423376243662 [ 3ファイル目 ] name = 8097327748_d4c013f2c3_z.jpg type = image/jpeg size = 158208 lastModifiedDate = Mon Jul 21 2014 05:58:14 GMT+0900 lastModified = 1405889894477