2012-04-02 18 views
0

jQueryとHTML5 File APIを使用してローカルファイルからデータを取得しようとしています。私はファイルを読み込み、そこからテキストを取得したいが、入力フィールドの内容が変更されたときではなく、ユーザがボタンを押したときだけである。ユーザーがHTML5 File APIを使用してボタンを押したときにローカルファイルを読み取るにはどうすればよいですか?

files = $("#file").files; 
var reader = new FileReader(); 
reader.onload = function(event) { 
    var content = event.target.result; 
    alert(content); 
    agregar(content[0]); 
    alert(content); 
} 
reader.readAsText(files[0]); 

ユーザーがページ上のボタンを押したときにこのコードがトリガーされます。

は、ここで私が現在使用しているコードです。私の問題は、コードが実行されると、filesが定義されていないので、必要なデータを取得できないということです。 FileReader.readAsText()関数のパラメータとして渡すことができるように、入力ファイルの内容を取得するにはどうすればよいですか?

+0

あなたはあなたのHTMLを投稿できますか?私は最近、ファイルのアップロードに関連する質問をし、次にJavaScriptデータでファイルのデータを読みました。ここに質問があります。ここで私のコードを確認してください... http://stackoverflow.com/questions/9099486/javascript-formdata-via-ajax – DG3

答えて

1

files配列は、<input type=file> DOMElementのプロパティです。私はjQueryを使ってそれにアクセスする方法を知りませんが、あなたは常に.get(0)を使用してjQueryの要素からバッキングDOMElementのを取得することができますので、あなたはここにあなたのファイルにアクセスすることができます

var files = $('#file').get(0).files; 

またはプレーンJavaScriptで

var files = document.getElementById('file').files; 
+0

これは正常に動作しました。ご協力いただきありがとうございます –

関連する問題