text-Datei einlesen und den Inhalt als Variable nutzen

Moin Ulrich,

Ja, da haben wir es wieder. JavaScript und JSON.
Zwei Dinge, die noch nie meine Freunde waren.
Code:
// Beispiel: Angezeigten Namen in Eingabefeld eintragen:
 document.getElementById('display-name').value = parsed[0].displayName;

Wie komme ich an die tieferen Werte?
Code:
document.getElementById('email').value = parsed[0].email;
document.getElementById('email').value = parsed[0][1].email;

???
 
Ich weiß schon, warum ich das Zeug nicht mag...
Und wie geht das für "Fax"? Das ist in geschweiften Klammen und endet auch mit .value ?!
Muss man da den type mit angeben?
 
So, also das funktioniert fast (!).
Geht das jetzt nur für .vcf Daten? Wenn ich jetzt andere Strukturen habe,
also z.B. Textdateien die so aussehen:

Code:
Teil1|Teil2|Teil3|Teil4|Teil5|Teil6|
Part7|Part8|Part9|Part10|Part11|Part12|
...

Und zu dem "fast" funktionieren habe ich ein Problem bei den .vcf:
Die [Strasse Hausnummer], sowie [Plz Ort] sind jeweils ein Eintrag mit zusammengefassten Daten.
Ich brauche für das Formular aber [Strasse] [Nr] [Plz] [Ort] als jeweils ein Feld,
also insgesamt 4 statt nur 2, und ich bekomme das im JavaScript nicht getrennt.
Kannst Du die Variablen dort schon trennen, und das mit einbauen?

Danke & Gruß,

Volker
 
Hallo Volker, das ist sicher zu lösen aber heute bin ich unterwegs in Dresden und habe die Testdateien nicht. Vielleicht findet sich jemand anders. Bin aber morgen schon wieder zurück.
 
Zuletzt bearbeitet:
Guten Morgen Volker,
ich habe das mit der Adresse jetzt untersucht. Dieser Parser, den wir verwenden, geht davon aus, dass die Adresse so aufgebaut ist:
Code:
ADR;type=pref:Postfach;Hausnummer;Straße;Ort;Bundesland;PLZ;Staat
Dann liegen die Bestandteile getrennt vor nach dem Parsen.
Das beste wäre, wenn Du deine Daten daran anpassen könntest. Häufig ist das jedoch nicht möglich. In dem Fall müssten wir Straße und Hausnummer sowie PLZ und Ort selbst aufsplitten. Mit Regex kein Problem.
 
Und das andere Format ist CSV. papaparse.js unterstützt bereits das Lesen aus einem File-Input, so dass sich der Code sehr einfach gestaltet:
Code:
<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>Parse CSV</title>
    <script src="js/papaparse.min.js"></script>
    <style>
    </style>
</head>

<body>
    <form>
        <input type="text" id="input1">
    </form>
    <input type="file" name="inputfile" id="inputfile">
    <script>
        const fileInput = document.getElementById('inputfile');
        fileInput.addEventListener('change', function (event) {
            Papa.parse(fileInput.files[0], {
                delimiter: '|',
                complete: function (results) {
                    console.log(results);
                }
            });
        });
    </script>
</body>

</html>
 
Zurück