Auswahlliste

Hallo Forum!

Ich möchte eine Auswahlliste definieren. Dabei sollten die Einträge aus einer (Text-)Datei ausgelesen werden - etwa wie folgt:
Auswahlliste:

Tür
Haus
Baum
Uhr

Inhalt Textdatei also:
Tür
Haus
Baum
Uhr

Frage: Ist das machbar?

Herzlichen Gruß, Wilfried

Frage: Ist das machbar?

Hi Wilfried,
sicher ist das machbar, allerdings nicht mit JavaScript. Geeignet ist hier eher eine serverseitige Skriptsprache wie PHP zum Beispiel. PHP Unterstützung wird mittlerweile von jedem Webspaceanbieter kostenlos angeboten, sollte also in der Regel kein Problem darstellen.

Für das öffnen einer Datei kannst du z.B. die PHP Funktion
fopen() verwenden. Die erwartet mindestens zwei Parameter, erstens den Pfad zur deiner Textdatei, und die Art des Zugriffes (Nur lesend, schreiben etc.).

Danach musst den Inhalte der Datei am besten in eine Variable packen. Hierzu überprüfst liest du solange jede Zeile aus, bis die Datei keine weitern Zeilen enthält. (Methode feof())
Am besten jede Zeile in einen Array Eintrag, ich denke das würde sich anbieten. (Zeilen auslesen z.B. mit der Methode fgets()). Anhand des Arrays baust du dann deine html select box auf oder wie du dir das gedacht hast.

Hier ist ein Quelltext, der deinen Wunsch sehr nahe kommt:
http://www.informationsarchiv.net/foren/beitrag-2443…

Viel Erfolg DP

Hallo DP,
danke für Deine Hinweise und den Quelltext!

Wenn ich Dich richtig verstanden habe, sahst Du das Problem darin eine Textdatei auszulesen - das ist jedoch nicht mein Problem; das habe ich bereits mittels Javascript gelöst.
Nun bin ich prinzipiell mit der Materie nicht so vertraut, und möglicherweise hatte ich mich auch nicht verständlich genug ausgedrückt.
Meine Frage ging dahin: Wie kann ich die aus einer Textdatei (bereits) gelesenen Daten in eine Auswahlliste bringen, bzw. ist dies mit JScript realisierbar?

Also:

Anhand des Arrays baust du dann deine html select
box auf oder wie du dir das gedacht hast.

Eben dieser Aufbau macht mir hier Probleme - das Array liegt mit als Lösung, wie gesagt in Jscript, vor.

Hast Du - oder vielleicht jemand anders - dazu noch eine Idee?

Dank im voraus,
Wilfried

Wenn ich Dich richtig verstanden habe, sahst Du das Problem
darin eine Textdatei auszulesen - das ist jedoch nicht mein
Problem; das habe ich bereits mittels Javascript gelöst.

Das würde ich gerne sehen!

Meine Frage ging dahin: Wie kann ich die aus einer Textdatei
(bereits) gelesenen Daten in eine Auswahlliste bringen, bzw.
ist dies mit JScript realisierbar?

Ein JavaScript Array in als select Box aufbauen, nun das ist nicht so schwer, angenommen dein array heißt worte, dann benötigst du im Body Bereich einen Skriptbereich mit einer einfachen Schleife, die html code mit den inhalten erzeugt… z.B. so:

document.write("");
for(i=0;i"+worte[i]+"");
}
document.write("");

Was mich jetzt noch interessieren würde, wie du mittels JavaScript klientseitig auf eine Textdatei auf dem Server zugreifst, ich würde gerne wissen wie das funktioniert. Oder handelt es sich bei deiner Datei nicht um eine .txt sondern um eine JavaScript-Datei, die eingebunden wird? Viel Erfolg weiterhin. Gruß DP

Hallo DP,

sieht so aus, als hätt ich nun, wonach ich gesucht habe - naja, ich bin noch ziemlicher Laie in Sachen HTML und Jscript.
Danke nochmals!

Zu Deiner Frage:

Unten habe ich dir die leicht gekürzte Fassung einer Suchroutine kopiert. Sie liest Info´s aus einer Textdatei(siehe ´object id´ im body)aus und stellt die Daten auf dem Bildschirm zur Verfügung.
Schau sie Dir mal an, und sag mir noch was dazu, …

  • Die Routine ist auf einem Server im Einsatz.

Herzlichen Gruß, Wilfried


<!–
function Suchen() {
document.all.Anzeigetabelle.style.display = „none“;
var Suchausdruck = „“;
var Suchbegriffe = 0;
if(document.Eingabe.SuchStr.value != „“) {
Suchausdruck = Suchausdruck + „Strasse = " + document.Eingabe.SuchStr.value + „*“;
Suchbegriffe++;
}
if(document.Eingabe.SuchPLZ.value != „“) {
if(Suchbegriffe > 0)
Suchausdruck = Suchausdruck + " & PLZ = " + document.Eingabe.SuchPLZ.value;
else
Suchausdruck = Suchausdruck + „PLZ = " + document.Eingabe.SuchPLZ.value;
Suchbegriffe++;
if(Suchausdruck !=““) {
document.all.Begriffe.object.Filter = Suchausdruck;
document.all.Begriffe.Reset(); <!-- Browser aktivieren -->
document.all.Anzeigetabelle.dataSrc = „#Begriffe“;
if(document.all.Begriffe.recordset.recordCount < Datensaetze) {
document.all.Anzeigetabelle.dataPageSize = Begriffe.recordset.recordCount;
document.all.Treffer.innerText = Begriffe.recordset.recordCount + " Suchtreffer:";
document.all.Anzeigetabelle.style.display = „block“;
}
else
document.all.Treffer.innerText = „zuviele Suchtreffer!“;
}
else
document.all.Treffer.innerText = „0 Suchtreffer!“;
}
//–>
</head>
<body>
<object id=„Begriffe“ classid=„clsid:333C7BC4-460F-11D0-BC04-0080C7055A83“>
<param name=„DataURL“ value=„daten.txt“>
<param name=„UseHeader“ value=„true“>
<param name=„Filter“ value="">
<param name=„FieldDelim“ value=";">
</object>
<form name=„Eingabe“ action="">
<table border=„0“>
<tr><td><B>Straße:</B></td><td><input name=„SuchStr“ type=„text“ width="40"value=„E“ ></td></tr>
<tr><td><B&gt:stuck_out_tongue_winking_eye:LZ:</B></td><td><input name=„SuchPLZ“ type=„text“ width=„40“> </td></tr>
<tr><td></td><td><input type=„button“ style=„width:150px; height:25px;“ value=„Suche starten“ onClick=„Suchen()“>
</form>
</tr>
</table>
</body>

Hi Wilfried,
danke für das Quelltextfragment, fand ich sehr interessant. Du lädst anscheinden die Textdatei in HTML als Object-Tag und greifst dann mit JavaScript auf die Inhalte des Object-Tags zu. Eine Möglichkeit, die ich nicht in betracht gezogen habe und so noch nie gesehen habe.
Finde ich ziemlich clever gemacht, jedoch vermute ich ist das ganze nicht sehr browserkompatibel ist, da ich im Quelltext viel document.all Ansprachen sehe. Aber interessant, wieder was gelernt. Viel Erfolg weiterhin, Gruß DP