Supportnet / Forum / Skripte(PHP,ASP,Perl...)
In Javascript sind ASCII Zeichen egal?
Frage
Hallo,
ich habe gerade gesehen, daß man, wenn man z.B. mit Javascript das Wort "frühling" schreiben will (alert), ASCII Zeichen anwenden muss, die sonst im HTML nicht erlaubt sind.
Sprich alert("Frühling") anstelle von alert("&....)
Hab ich das richtig verstanden?
Vielen Dank für Euer Feedback im voraus
LG
Mel
Antwort 1 von rfb
Zumindest versteht JavaScript nicht das Unicode-System (mit dem &)!
Bei JavaScript gibt es für derartige Sonderzeichen eine andere Methode, die Funktionen
Allerdings kommen die mir bekannten JavaScript-Interpreter in der Regel auch mit Umlauten ohne
Bei JavaScript gibt es für derartige Sonderzeichen eine andere Methode, die Funktionen
escape() und unescape(), alles weitere darüber hier: http://de.selfhtml.org/javascript/objekte/unabhaengig.htmAllerdings kommen die mir bekannten JavaScript-Interpreter in der Regel auch mit Umlauten ohne
escape() unescape() zurecht. Aber spätestens bei der Wertübergabe mittels location.search gibts damit Probleme weshalb ich grundsätzlich "Frühling" nur als unescape("Fr%FChling") schreiben würde.Antwort 2 von Supermax
Das "Escapen" von Sonderzeichen ist im Prinzip nur in reinem HTML-Code erforderlich, und auch da in der Regel nur für Zeichen, die in HTML eine spezielle Bedeutung haben, also das Kleinerzeichen, das Größerzeichen und der Ampersand ("Kaufmanns-Und").
JavaScript verwendet hier überhaupt eine andere Notation, die sich an der in der Sprache C verwendeten Syntax anlehnt:
z.B. "\n" für einen Zeilenvorschub oder "\t" für einen horizontalen Tabulator. Mit "\xXX" wird das Zeichen mit dem Hexcode "XX" in den Text eingefügt (siehe z.B. Windows-Zeichentabelle), mit "\uXXXX" läßt sich ein Unicode-Zeichen mit dem Hex-Code "XXXX" einfügen. Letzteres funktioniert allerdings erst ab JavaScript 1.2 oder 1.3; frühere Versionen können mit Unicode noch nichts anfangen.
JavaScript verwendet hier überhaupt eine andere Notation, die sich an der in der Sprache C verwendeten Syntax anlehnt:
z.B. "\n" für einen Zeilenvorschub oder "\t" für einen horizontalen Tabulator. Mit "\xXX" wird das Zeichen mit dem Hexcode "XX" in den Text eingefügt (siehe z.B. Windows-Zeichentabelle), mit "\uXXXX" läßt sich ein Unicode-Zeichen mit dem Hex-Code "XXXX" einfügen. Letzteres funktioniert allerdings erst ab JavaScript 1.2 oder 1.3; frühere Versionen können mit Unicode noch nichts anfangen.
Antwort 3 von Mel
aha,
vielen Dank für die ausführlichen Hinweise und den Link.
Dann werde ich gleich einmal dementsprechend Javscripts anpassen.
Super Hilfe, danke.
LG
Mel
vielen Dank für die ausführlichen Hinweise und den Link.
Dann werde ich gleich einmal dementsprechend Javscripts anpassen.
Super Hilfe, danke.
LG
Mel
Antwort 4 von Mel
Gibts vielleicht in Dreamweaver ein Tool, daß mir den Text in "Javascript -konforme" Schreibweise umwandelt?
Hab http://www.salesianer.de/util/alert-umlaute.html gefunden, aber es ist ein wenig mühsam, alles einzeln einzugeben usw.
LG
Mel
Hab http://www.salesianer.de/util/alert-umlaute.html gefunden, aber es ist ein wenig mühsam, alles einzeln einzugeben usw.
LG
Mel
Antwort 5 von rfb
kopier dir dies Beispiel - http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#escape - und erzeuge damit den escape-Code, den du brauchst (in meinem Beispiel oben habe ich es auch so gemacht)
Antwort 6 von Mel
rfb:
Das ist schon viel einfacher und weniger umständlich. Super Tip. Danke schön.
Gruss Mel
Zitat:
http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#escape - und erzeuge damit den escape-Code, den du brauchst (in meinem Beispiel oben habe ich es auch so gemacht
http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#escape - und erzeuge damit den escape-Code, den du brauchst (in meinem Beispiel oben habe ich es auch so gemacht
Das ist schon viel einfacher und weniger umständlich. Super Tip. Danke schön.
Gruss Mel
Antwort 7 von Mel
So, jetzt hier noch mal ein Feedback:
Der encode Befehl schreibt Umlaute wunderbar in alert-ausgabe-leserliche Zeichen um, aber leider passiert folgendes:
Nach jedem Wort, das "encoded" wurde, wird die Zeile umgebrochen.
Bei dem folgenden Beispiel wird der Text in der Alertausgabe zum Beispiel unschöne zweimal umgebrochen:
Weiss jemand einen Rat hier? Warum ist das so?
Wäre super. Vielen Dank im voraus
Mel
Der encode Befehl schreibt Umlaute wunderbar in alert-ausgabe-leserliche Zeichen um, aber leider passiert folgendes:
Nach jedem Wort, das "encoded" wurde, wird die Zeile umgebrochen.
Bei dem folgenden Beispiel wird der Text in der Alertausgabe zum Beispiel unschöne zweimal umgebrochen:
if (document.formula.test.checked == false){
alert(unescape("bitte tragen Sie die Blumen f%FCr den Fr%FChling ein.. !"));Weiss jemand einen Rat hier? Warum ist das so?
Wäre super. Vielen Dank im voraus
Mel
Antwort 8 von rfb
Ich kann dein Problem mit keinem der gerade installierten Browser (Opera, FF, IE6) nachvollziehen!
Antwort 9 von Mel
Ah, gut daß du das schreibst.
Ich hab deshalb jetzt gefunden, woran es liegt. Das Programm http://www.salesianer.de/util/alert-umlaute.html , daß ich anfangs benutzte, um den Code umzuschreiben, hat jeweils "%0A%0A%0A" an die einzelnen Ausführungen gehangen und damit den Umbruch produziert.
Man oh man, endlich ist das Problem mit dem Alertfenster und den Umlauten dank Dir gelöst.
Tausend Dank
Gruss Mel
Ich hab deshalb jetzt gefunden, woran es liegt. Das Programm http://www.salesianer.de/util/alert-umlaute.html , daß ich anfangs benutzte, um den Code umzuschreiben, hat jeweils "%0A%0A%0A" an die einzelnen Ausführungen gehangen und damit den Umbruch produziert.
Man oh man, endlich ist das Problem mit dem Alertfenster und den Umlauten dank Dir gelöst.
Tausend Dank
Gruss Mel

