2016-03-18 24 views
0

JavaScriptを使用してこのHTMLフォームからデータを取得し、既存のCSVファイルに保存します。以下は私が今持っているHTMLとJavaScriptです。送信をクリックすると何も起こりません。何か案は?コードはJavascriptを使用して既存のCSVファイルにHTMLフォームデータを保存する

function WriteToFile(messagebox) { 
    var fso = new ActiveXObject("Scripting.FileSystemObject"); 
    var fileLoc = "\\/*pretend file path*/\MessageLog.csv"; 
    var file = fso.OpenTextFile(fileLoc, 8, true,0); 
    file.writeline(messagebox.Student Name.value + ',' + 
      messagebox.Student ID Number.value); 
    file.Close(); 
    alert('File created successfully at location: ' + fileLoc); 
    } 



<form name = "messagebox" id = "messagebox" method = "post" onsubmit = "SetData();WriteToFile(this.form)" enctype = "text/plain"> 

<div id = "residentinfo">  
<p>Student Name 
    <input type = "text" name = "Student Name" Value = "" required></p> 

<p>Student ID Number <input type = "text" name = "Student ID Number" value = "" maxlength = "9" required></p> 

答えて

0

はい、JavaScriptは最新のブラウザではActiveXObjectをサポートしていません。

1990年代初期のウェブでは、まだ新しいものだった&人々はそれについて学んでいましたが、それに加えて&はできませんでした。 Javascriptはユーザーのファイルシステムにアクセスすることなく意図的に設計されました。 セキュリティ機能と考えられていましたが、速やかに成功裡に有名なセールスポイントになりました。 Javascript言語では不可能だったため、Web接続トンネルを開いてユーザーのハードドライブからスプレッドシートやその他の銀行関連データを盗むために、ウェブサイトでは誰もがユーザーのハードドライブにウイルスを書き込むことができないということを人々が安全に感じることができましたハードドライブにアクセスできません。だから安心して、彼らはブラウザを試してみましょう&ウェブサイトを見てください。今日、私たちは皆、ウェブサイトの仕組みを知っています&もう誰もクライアント側のファイルシステムへのアクセスを恐れていないようです。

このdottoro.comサイトでは、ActiveXObjectはIEでのみ使用されていますが、オブジェクトタグはクロスブラウザ環境で動作することが記載されています。唯一の問題は、オブジェクトタグをファイル書き込みに使用できないことです。したがって、ユーザーがMSIEを使用するよう強制されない限り、ActiveXObjectはもう使用できません。

理由はActiveXObjectをはJavascriptのMicrosoftのjScriptクローンの一部であったということです。ほとんどのWeb業界はjScriptを採用していません。マイクロソフトの最新のアップデートは2011年です。ActiveXObjectがIE 5/6のフォールバックに使用されているのを見たのは唯一のことでした。これは、ブラウザがXMLHttpRequest(XHR)オブジェクトのような新しいAjaxエンジン機能をサポートできない場合にのみ使用されました。現代へ

早送り:あなたはあなたの.csvファイルを作成するために、Node.jsのfilesystem docsを検討する必要があります。あなたはファイルシステムAPIでこれを行うことができますが、古いActiveXObject技術ではできません。

はここSO上jQuery .csv file examplesのいずれかを試してみてください。

関連する問題