0

jQuery と HTML5 ファイル 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()ですか?

4

1 に答える 1

1

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

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

またはプレーンな JavaScript を使用する場合:

var files = document.getElementById('file').files;
于 2012-04-02T15:59:00.490 に答える