2010-11-24 4 views
0

Ich bin neu in JavaScript, also vergib mir, wenn die Antwort auf diese Frage offensichtlich ist.Importieren einer Nur-Text-Datei mit HTML5 und JavaScript

Ich versuche, eine Importfunktion für eine Text-Editor-Webanwendung einzurichten.

Mein Code ist wie folgt:

function dataImport() { 
    confirm("Are you sure you want to import the selected file? This will overwrite any data that is currently saved in the application workplace."); 
    var fileReader = new FileReader(); 
    window.localStorage.setItem("AppData", fileReader.readAsText(document.querySelector("#import-selector").value)); 
}; 

Und es sollte aktiviert werden:

<input id="import-selector" type="file" /><button id="import-button" onclick="dataImport();">Import File</button> 

Statt zu schreiben, den Inhalt der Datei auf die localstorage jedoch schreibt er lediglich das Wort 'nicht definiert'. Ich nehme an, es ist ein Fehler passiert, aber ich bin mir nicht sicher, was es ist.

Vielen Dank im Voraus für jede Hilfe oder Beratung.

+0

Welchen Browser benutzen Sie? –

+0

Google Chrome, der Entwickler-Kanal. –

Antwort

2

Ich habe noch nie von einem lick Ereignis in HTML gehört. Vielleicht ist es etwas Neues zu HTML5;)

Versuchen Sie, Ihre onlick="... Trigger onclick="...

Ändern Vielleicht funktioniert?


Jetzt, wo das feste, versuchen Sie folgendes Beispiel: Chrome FileReader

ich es versucht, und es funktioniert einwandfrei . Es gibt den Inhalt der Datei in die Fehlerkonsole aus.

Viel Glück!

+0

Woah, das war dumm von mir. Jetzt bekomme ich endlich einen Fehler in der Konsole! Ich habe die Frage entsprechend angepasst. –

+0

Hmm. Ich habe das Skript, das Sie erwähnten, umgewidmet, aber ich erhalte diesen Fehler: "Uncaught TypeError: Kann die Eigenschaft 'length' von undefined nicht lesen". Ich habe das benutzerdefinierte Skript hier online gestellt: http://jsfiddle.net/CwfSy/ –

+0

Nevermind. Aus irgendeinem Grund mochte es nicht, dass ich das Skript onclick ausführen ließ, aber als ich das Eingabe-Tag für die Änderung anwählte, funktionierte es. –