Mrs. Olivander: Zeilenwechsel (Enter) maskieren

Hi,

ich habe ein javascript, welches Werte (Strings) aus einer Datenbank in eine Variable einliest und dann weiter verarbeitet.

Probleme habe ich, wenn die Strings aus der Datenbanken Zeilenwechsel enthalten: Dann steht in der Wertzuweisung der String (inkl. Zeilenwechsel). Das Skript erkennt nicht, daß der Zeilenwechsel zum String und nicht zum Code gehört => Das Skript wird nicht mehr ausgeführt.

Wie kann ich die Zeilenwechsel maskieren oder ersetzen (z. B. durch Leerzeichen)?

Zum Maskieren von Umlauten und Sonderzeichen habe ich "encodeURIComponent" genommen - aber bei Zeilenwechseln funktioniert das nicht.

Grüße
Mrs. Olivander

  1. hi,

    ich habe ein javascript, welches Werte (Strings) aus einer Datenbank in eine Variable einliest und dann weiter verarbeitet.

    ein clientseitiges javascript, dass mit einer DB kommuniziert ...?
    unwahrscheinlich.

    Probleme habe ich, wenn die Strings aus der Datenbanken Zeilenwechsel enthalten: Dann steht in der Wertzuweisung der String (inkl. Zeilenwechsel).

    aha, also schon ein ganz anderer fall ... eine serverseitige technik _erzeugt_ also aus den DB-werten javascript-variablen.

    Das Skript erkennt nicht, daß der Zeilenwechsel zum String und nicht zum Code gehört => Das Skript wird nicht mehr ausgeführt.
    Wie kann ich die Zeilenwechsel maskieren oder ersetzen (z. B. durch Leerzeichen)?

    der zeilenwechsel für javascript-strings ist \n.

    wenn du allerdings eine serverseitige technik verwendest, die ebenfalls \n für einen zeilenwechsel benutzt (wie z.b. php), dann müsstest du den zeilenwechsel durch \n ersetzen - um den backslash seiner sonderbedeutung zu berauben.

    gruss,
    wahsaga

    1. aha, also schon ein ganz anderer fall ... eine serverseitige technik _erzeugt_ also aus den DB-werten javascript-variablen.

      so isses, du hast recht. Genauer gesagt, erzeuge ich den gesamten javascript-code inklusive der ausgelesenen Variablen mit einer Datenbankprozedur (oracle9i, PL/SQL)

      Wie kann ich die Zeilenwechsel maskieren oder ersetzen (z. B. durch Leerzeichen)?

      der zeilenwechsel für javascript-strings ist \n.

      Ah, das hört sich schon gut an. Aber wie kann die den "gelieferten" Zeilenwechsel durch \n ersetzen?
      Ist das abhängig von der verwendeten Datenbank oder gibt es für die Zeilenwechsel Standard's?

      Grüße
      Mrs. Olivander