2016-07-18 2 views
2

Я полностью в тупике, почему мой код не запускается. В консоли нет ошибок. EDIT: добавлено больше кодаКод не будет запущен и не будет отображаться никаких ошибок

<!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

Итак, что такое файлReader, который должен читать, вы ничего не передаете ему, так что загружать нечего, следовательно, нет события 'onload'? – adeneo

ответ

0

Вы просто не хватает

reader.readAsText(file); 

Чтобы сообщить читателю действительно прочитать выбранный файл.

Рабочий пример: https://jsfiddle.net/zck7z3aa/2/

Я также добавил fileDisplayArea.innerHTML = reader.result; показать содержимое файла в PRE тега.

+1

Я знал, что чего-то не хватает; благодаря! – averagebegginnercoder

Смежные вопросы