2016-07-18 41 views
2

コードが実行されない理由が完全にわかりません。コンソールにはエラーはありません。編集:追加コードを追加コードは実行されず、エラーも表示されません

<!DOCTYPE html> 
    <meta charset="utf-8"> 
    <style> 
    html { 
     font-family: Helvetica, Arial, sans-serif; 
     font-size: 100%; 
     font color: white; 
     background: #333; 
    } 

    #page-wrapper { 
     width: 600px; 
     background: #FFF; 
     padding: 1em; 
     margin: 1em auto; 
     min-height: 300px; 
     border-top: 5px solid #69c773; 
     box-shadow: 0 2px 10px rgba(0, 0, 0, 0.8); 
    } 

    h1 { 
    margin-top: 0; 
    } 

    #fileDisplayArea { 
    margin-top: 2em; 
    width: 100%; 
    overflow-x: auto; 
    } 

    body { 
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; 
    width: 960px; 
    height: 500px; 
    position: relative; 
    } 
</style> 

<body> 
    <div id="page-wrapper"> 

     <h1>File to Matrix</h1> 
     <div> 
      Select a text file: 
      <input type="file" id="fileInput"> 
     </div> 
     <pre id="fileDisplayArea"><pre> 

    </div> 
</body> 
<script> 

    var data = []; //will hold data from file 

    window.onload = function() { 
     var fileInput = document.getElementById('fileInput'); 
     var fileDisplayArea = document.getElementById('fileDisplayArea'); 

     fileInput.addEventListener('change', function(e) { 
      var file = fileInput.files[0]; 

      var reader = new FileReader(); 
      var str = ''; 
      reader.onload = function(e) { 
       str = reader.result; 
       alert("does this even ever run?"); 
       var temp = str.split('\n'); 
       for(var i = 0; i < temp.length; i++) 
        data.push(temp[i].split('\t')); 
      } 
      alert("this runs"); 
     }); 
    } 
</script> 

ユーザーが選択した.tsvを読み込み、データをマトリックスに変換しようとしています。
警告がポップアップしないため、データはまだ空ですので、reader.onload = function(e){}という行は実行されません。

何か助けていただければ幸いです。

おかげ

+0

このサイトは役立つかもしれません:http://www.javascripture.com/FileReader –

+1

[最小、完全で、検証可能な例](http://stackoverflow.com/help/mcve)を作成する必要があります:必要最小限あなたと同じエラーを得るために。良いスタートは、必ずしもHTMLに限られるわけではありません。 – rockerest

+0

そのfileReaderは何を読み込むべきなのですか?何も渡していないので、ロードするものはないので、 'onload'イベントはありません。 – adeneo

答えて

0

あなたはただ、実際に選択したファイルを読むために読者に伝えるために

reader.readAsText(file); 

を逃しています。

の作業例:https://jsfiddle.net/zck7z3aa/2/

私もPREタグ内のファイルの内容を表示するためにfileDisplayArea.innerHTML = reader.result;を追加しました。

+1

私は何かが欠けていることを知っていた。ありがとう! – averagebegginnercoder

関連する問題