2016-03-18 9 views
0

Ich möchte Javascript verwenden, um die Daten aus diesem HTML-Formular zu erhalten, und speichern Sie es in einer vorhandenen CSV-Datei. Unten ist das HTML und Javascript, das ich jetzt habe. Wenn ich auf "Senden" klicke, passiert nichts. Irgendwelche Ideen? Code unterSpeichern von HTML-Formulardaten in vorhandene CSV-Datei mit Javascript

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> 

Antwort

0

Ja, JavaScript unterstützt ActiveXObject in den meisten modernen Browsern nicht.

In den frühen bis Mitte der 1990er Jahre war das Web immer noch neu & Menschen lernten darüber, plus was es & konnte nicht tun. Javascript wurde absichtlich ohne die Möglichkeit entwickelt, auf das Dateisystem des Benutzers zuzugreifen. Es wurde als Sicherheitsmerkmal gedacht, aber es wurde schnell zu einem erfolgreichen Mund-zu-Mund-Verkaufsargument. Es erlaubte den Leuten, sich sicher zu fühlen, dass Webseiten es niemandem erlauben würden, Viren auf die Festplatte eines Benutzers zu schreiben - um Web-Verbindungstunnel zu öffnen, um Tabellen und/oder andere bankbezogene Daten von der Festplatte eines Benutzers zu stehlen - weil die Javascript-Sprache nicht konnte nicht auf ihre Festplatte zugreifen. Sich so sicher fühlend, würden sie einen Browser ausprobieren & Websites nachschlagen. Heute wissen wir alle, wie Websites funktionieren & niemand scheint Angst vor Client-Side-Dateisystemzugriff mehr.

Diese dottoro.com Website listet auf, dass ActiveXObject nur von IE verwendet wird, erwähnt aber, dass das Objekt-Tag in einer browserübergreifenden Umgebung funktioniert. Das einzige Problem ist, dass das Objekt-Tag nicht für Dateischreibvorgänge verwendet werden kann. Daher kann das ActiveXObject nicht mehr verwendet werden, es sei denn, Benutzer werden gezwungen, MSIE zu verwenden.

Der Grund ist, dass das ActiveXObject Teil von Microsofts jScript Klon von Javascript war. Der Großteil der Web-Industrie hat jScript nie übernommen. Das letzte Update von Microsoft war im Jahr 2011. Das einzige, für das ActiveXObject verwendet wurde, war IE 5/6 Fallbacks. Es wurde nur verwendet, wenn der Browser keine neueren Ajax-Funktionen wie das XMLHttpRequest (XHR) -Objekt unterstützen konnte.

Schneller Vorlauf zum heutigen Tag: Möglicherweise müssen Sie in die Node.js filesystem docs suchen, um Ihre .csv-Datei zu erstellen. Sie könnten es mit ihrer Dateisystem-API tun, aber nicht mit der älteren ActiveXObject-Technologie.

Probieren Sie einen der jQuery .csv file examples hier auf SO.

Verwandte Themen