Der switch case mit Clou
Boris Hoeller
Hi2all,
meiner Funktion wird (hier exemplarisch) 'Rat' oder 'Tat' oder wer was übergeben. Jetzt soll hierauf ein HTML Anweisungsatz geladen werden, der in das <div id="outputarea"></div> Feld gepiped werden soll.
Hier die Dateien rat.dat, tat.dat oder wie auch immer ...
In perl wäre das wohl ein require, wie geht das in JS?
In den eckigen Klammern steht mein Wunschdenken, das korregiert werden müsste ...... Also:
switch(vorgang) {
case "Rat":
outputvalue = [import bzw. call 'rat.dat'?????]
break;
case "Tat":
outputvalue = [import bzw. call 'tat.dat'????]
break;
default:
alert('Kein geregelter Fall');
outputvalue = 'Kein geregelter Fall';
break;
}
document.all.outputarea.innerHTML = outputvalue;
ANY IDEA ANY1?
Danke, wenn ;))
CU
Bo
Hallo Boris!
Ich habe alles verstanden, Danke!
PAF (patrickausfrankfurt)
Hi Patrick.
Ich habe alles verstanden, Danke!
Wie meinst'n das jetzt?
Calocybe
Moin! (sagt man glaub ich um die Zeit (weiss ich nicht so genau, da ich zu dieser Zeit meistens schlafe))
Ich nehme mal an, Du willst jetzt keine Hinweise auf serverseitige Loesungen. (wenn ich auch nicht weiss, was das in Perl mit require zu tun hat)
Also vielleicht machst Du einfach ne extra JS Datei, die Du dann mit
<SCRIPT SRC="outputvalues.js" TYPE="text/javascript"> einbindest. (Funktioniert nur mit den neueren Browsern, fuer die anderen muesstest Du das Zeug dann doch in die HTML-Datei selbst schreiben (geht natuerlich schon mit Server Side Includes, aber das ist ja dann halt serverseitig :( ))
In der JS:
var Rat_value = "Guter Rat ist teuer - oder man holt ihn sich im Forum";
var Tat_value = "Es gibt nichts Gutes... naja, usw, ist von Erich Kaestner";
Dann jeweils outputvalue = Rat_value oder aehnlich
Falls Du jetzt unbedingt Dateien lesen willst - vergiss es! Geht nicht mit JS.
Calocybe
Moin! (sagt man glaub ich um die Zeit (weiss ich nicht so genau, da ich zu dieser Zeit meistens schlafe))
Ich nehme mal an, Du willst jetzt keine Hinweise auf serverseitige Loesungen. (wenn ich auch nicht weiss, was das in Perl mit require zu tun hat)
Stimmt ein wenig, da würde man wohl eher sagen
$outputvalue = 'cat rat.dat'; # oder ähnlich
Mit dem require analog sozusagen ist die Lösung möglich die mit der extra Datei zu avisieren wäre.
Also vielleicht machst Du einfach ne extra JS Datei, die Du dann mit
<SCRIPT SRC="outputvalues.js" TYPE="text/javascript"> einbindest. (Funktioniert nur mit den neueren Browsern, fuer die anderen muesstest Du das Zeug dann doch in die HTML-Datei selbst schreiben (geht natuerlich schon mit Server Side Includes, aber das ist ja dann halt serverseitig :( ))In der JS:
var Rat_value = "Guter Rat ist teuer - oder man holt ihn sich im Forum";
var Tat_value = "Es gibt nichts Gutes... naja, usw, ist von Erich Kaestner";
Und da liegt die Ursache meiner Frage: Leider rebelliert JS, wenn man das nicht alles in eine
Zeile schreibt und deswegen, der guten Übersicht wegen, würde ich lieber Dateien einlesen ;)
Dann jeweils outputvalue = Rat_value oder aehnlich
Falls Du jetzt unbedingt Dateien lesen willst - vergiss es! Geht nicht mit JS.
Dürfte was mit Sicherheitskonzept zu tun haben, wenn ich mal drüber nachdenke ....
Danke für Deine Hinweise
Calocybe
CU
Bo
Und da liegt die Ursache meiner Frage: Leider rebelliert JS, wenn man das nicht alles in eine
Zeile schreibt und deswegen, der guten Übersicht wegen, würde ich lieber Dateien einlesen ;)
Naja, wenn Du einen String am Zeilenende nicht korrekt abschliesst, ja dann kann JS Dich halt nicht so gut leiden. Aber kannst ja so machen:
var Rat_value = "Guter Rat ist teuer - " +
"oder man holt ihn sich im Forum, " +
"oder man kauft sich ein Buch, " +
"aber das waere ja dann wieder teuer.";
Note: Erst das Semikolon schliesst die Anweisung ab. (Das ist der Grund, warum Basic niemals eine Programmiersprache sein wird.)
Falls JS auch so cool ist wie C, kannst Du die + Zeichen auch weglassen. Das weiss ich aber nicht.
Falls Du jetzt unbedingt Dateien lesen willst - vergiss es! Geht nicht mit JS.
Dürfte was mit Sicherheitskonzept zu tun haben, wenn ich mal drüber nachdenke ....
Genau. Obwohl es bei mir nichts ausmacht, wenn mir irgendjemand die Autoexec.bat modifiziert ;-)
Calocybe