2

私はjavascriptに非常に慣れていないため、事前にお詫び申し上げます。基本的に、私は 2 つのスクリプトを組み合わせて、それを機能させようとしています。JavaScript は通常、ローカル ファイルにアクセスできないことはわかっていますが、File object可能でしょうか?

以下のコードで、選択したファイルが CSV の場合、それを次の関数に渡すにはどうすればよい$.get('data.csv', function(data)ので'data.csv'、実際にファイルが選択されますか?

<html>
<script type="text/javascript">

    document.getElementById('file').addEventListener('change', handleFileSelection, false);

    function handleFileSelection(evt) {
      console.log(evt);
      var f = evt.target.files[0];   
    }

    $(document).ready(function() {

      $.get('data.csv', function(data) {
        // Split the lines
        var lines = data.split('\n');

        //more code

      });

    });
</script>

<body>
    <input type="file" id="file" name="file" />
    <output id="list"></output>
</body>

</html>

</p>

4

1 に答える 1

1

ここで目にする最初の問題は、実際の要素が作成される前にイベントリスナーを追加しようとしているということです (RobG が言ったように)。

私が言及できる 2 番目の問題は、$.getそのローカル CSV ファイルを解析しようとしているということです。jQuery を使用している場合、$.getある URL に対して GET 非同期要求を行いますが、これは必要なものではありません。FileReader オブジェクトを調べる必要があります。私はそれに慣れていないので、動作するコードの例を示すことはできませんが、ここでいくつかの例を探すことができます。

于 2012-09-11T00:48:50.400 に答える