2012-01-24 8 views
2

以下はHTML 5の複数ファイルのアップロードを使用する簡単なコードです。私に必要なのは、すべてのファイル名ではない以下のパスをつかむためにある私は、ボタンを押すと、コンソール出力がHTML5の入力タイプファイルからファイル名を取得する方法javascriptまたはjqueryを使用して

ようです
<form action='server.php' method='post' enctype='multipart/form-data' target="iframe"> 
       <input id="files" name='files[]' type='file' multiple> 
       <input type='button' onclick="getFileNames()"> 
</form> 

ような単純なJavaScriptコード

function getFileNames() 
     { 
      var path = $('#files').val(); 
      console.log(' path = ' + path); 
     } 

とHTMLフォームがあるさ

パス= Chrysanthemum.jpg

これはファイルのファーストネームで、残りの名前が必要な場合は、提案、コメントをいただければ幸いです。ありがとう。

配列による
+0

作業の多くは、私は素敵な解決策を見つけた後も...私の答えを確認してください。 –

答えて

6

を使用arrayとしてのfilesとなります。

var files = $('input#files')[0].files; 
var names = ""; 
$.each(files,function(i, file){ 
    names += file.name + " "; 
}); 
alert(names); 

フィドル:http://jsfiddle.net/raj_er04/nze2B/1/

純粋なJavaScriptの

function getFileNames(){ 
    var files = document.getElementById("files").files; 
    var names = ""; 
    for(var i = 0; i < files.length; i++) 
     names += files[i].name + " "; 
    alert(names); 
} 

フィドル:http://jsfiddle.net/raj_er04/nze2B/2/

-1

代わりの

var path = $('#files').val(); 

ループ、私はinput type fileの場合に値が格納されている、多くの研究の後に溶液と思いここにしても

var names = ""; 
var path = $('#files').each(function(i, el) { 
    names = names + el.val() + ","; 
}); 
+0

ありがとうございますが、私はこのエラーをFirefoxで取得しています。 el.valは関数ではありません [このエラーで中断する] \t names = names + el.val()+ "、"; –

+0

'el.val()'の代わりに '$(el).val()'を使う – techfoobar

+0

ただ一つのファイル名を返しますが、 –

1
function getFileNames() 
    { 
     var files = document.getElementById("files").files;   
    for (var i = 0, f; f = files[i]; i++) { 
      console.log(' name= ' + f.name); 
alert(' path = ' + f.name); 
     } 
    } 
+0

私はファイルを取得しました= document.getElementById( 'files');残っているあなたのコードは何もエラーなしログをしません。 –

+0

コンソールログだけでなく、アラート関数getFileNames()のコード全体を次に示します。 { \t var files = document.getElementById( "files")。files; \t {\t \tはconsole.log( 'パス=' + f.name)(; F =ファイル[i]はiがVAR ++ I = 0、F)用 \t。 \t \t alert( 'path =' + f.name); } } – user47900

+0

は上記のコードを更新し、Chromeでテストしました。 – user47900

関連する問題