2016-08-14 15 views
2

入力ボタンを表示してファイル名を選択する代わりに、ルートフォルダ内の特定のファイル名を自動的にロードする方法がありますか? (ユーザがファイル名を選択するのを探しているわけではありません)2次元配列のためのevanplaiceの優れたCSV to JSコードを修正しています...私は入力を使用することに固執したいと思います... CSSスタイルを使用してボタンを隠す方法があります0の不透明度...事前に感謝、クリス。入力ファイルにファイル名を自動ロードする: ""

私は/ハードワイヤを強制したいファイル名は「SocialabSchedule2clean.csv」である

<input type="file" id="files" name="files[]" /> 
var files = evt.target.files; // FileList object 
    var file = files[0]; 

function handleFileSelect(evt) { 
    var files = evt.target.files; // FileList object 
    var file = files[0]; 

    // read the file contents 
    printTable(file); 

    // post the results 
    $('#list').append(output); 
} 

function printTable(file) { 
    var reader = new FileReader(); 
    reader.readAsText(file); 
    reader.onload = function(event){ 
    var csv = event.target.result; 
    var data = $.csv.toArrays(csv); 
    var html = ''; 
    for(var row in data) { 
     html += '<tr>\r\n'; 
     for(var item in data[row]) { 
     html += '<td>' + data[row][item] + '</td>\r\n'; 
     } 
     html += '</tr>\r\n'; 
    } 
    $('#contents').html(html); 
    }; 
    reader.onerror = function(){ alert('Unable to read ' + file.fileName); }; 
} 

+1

をMISSING WITH STATUS障害を除きWORKSも、任意のウェブサイトはあなたなしで、自分のサーバーに、ハードドライブの内容全体をアップロードすることができるようになります気づいている。それはあまり良いことではないでしょう。 – Siguza

+0

ありがとうSiguza、しかし私は自分のページ/サーバーに読み込まれるファイルの場所と名前をハードワイヤします。 – InverseMedia

+1

その場合は、ファイル入力フィールドではなく[XMLHttpRequest](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest)が必要です。 – Siguza

答えて

0

、あなたのウェブサーバからファイルをロードする必要がある場合@siguzaが提案ようにあなたが要求を使用することができます。

$.get("path/to/SocialabSchedule2clean.csv", function(response, status){ 
    if(status=="succes"){ 
     var data = $.csv.toArrays(response); 
     var html = ''; 
     for(var row in data) { 
      html += '<tr>\r\n'; 
      for(var item in data[row]) { 
      html += '<td>' + data[row][item] + '</td>\r\n'; } 
      html += '</tr>\r\n'; 
     } 
     $('#contents').html(html); 
    } 
}); 
+0

これは、あなたに感謝Jan Jouke Tjalsmaと@ Siguza。 – InverseMedia

+0

@InverseMediaよろしくお願いします!この回答または他の回答が問題を解決した場合は、チェックマークをクリックして回答を受け入れてください。 –

+0

私は試みましたが、これは応答です:フィードバックありがとう!評判が15未満の人の投票が記録されますが、公開されている投稿のスコアは変更されません。 – InverseMedia

0

これは自動的にユーザーの操作なしでファイルをロードFILENAME

<html> 
<head> 
<meta charset="utf-8" /> 
<title>Demo - CSV-to-Table</title> 
</head> 

<body> 

<table id="contents" style="width:100%; height:400px;" border> 
</table> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
<script src="http://www.inversemedia.com/socialab/Test3/jquery.csv.js">  </script> 
<script> 

document.getElementById("contents").innerHTML = "STARTING UP"; 

    $.get("http://www.inversemedia.com/socialab/Test3/SocialabSchedule3clean.csv", function(response, status){ 
alert("Status: " + status); 
if(status=="success"){ 
    var data = $.csv.toArrays(response); 
    var html = ''; 
    for(var row in data) { 
     html += '<tr>\r\n'; 
     for(var item in data[row]) { 
     html += '<td>' + data[row][item] + '</td>\r\n'; } 
     html += '</tr>\r\n'; 
    } 
    $('#contents').html(html); 
} 
else 
document.getElementById("contents").innerHTML = "FAILURE"; 
}); 

</script> 
</body> 
</html>