blander: Textarea value mit mehrzeiligem Inhalt

Hallo zusammen

einer Textarea würde ich gerne einen Inhalt mit mehreren Zeilen zuweisen. Und der Inhalt wird aus einer Datenbank ausgelesen. Aber wenn ich jetzt per Javascript und echo sage dass die Textarea value haben soll, dann wird ein Fehler angezeigt. Ich will aber nicht die Textarea auch noch per php erstellen, sie soll bereits auf der Seite vorhanden sein.

Danke Gruß Andreas

  1. Moin

    ...dann wird ein Fehler angezeigt.

    Ähm... sollen wir nun raten welcher Fehler angezeigt wird? Wie sieht dein Code aus?

    Lies dir bitte die Tipps für Fragende durch und versuchs nochmal.

    Gruß Bobby

    --
    -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
    ### Henry L. Mencken ###
    -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
    ## Viktor Frankl ###
    ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
  2. Hallo blander,

    du weißt schon, dass hier ein Forum ist, wo man schreibt was man will (hast du), was man hat (?), was nicht funktioniert (?) und wie sich das äußert (?).

    Dein Posting wäre in der jetzigen Form bei Twitter besser aufgehoben.

    Du kennst http://de.selfhtml.org/javascript/objekte/elements.htm#value?

    Gruß, Jürgen

    1. @@JürgenB:

      nuqneH

      Dein Posting wäre in der jetzigen Form bei Twitter besser aufgehoben.

      Es scheitert aber an der 140-Zeichen-Hürde. ;-)

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
      1. Hello,

        Dein Posting wäre in der jetzigen Form bei Twitter besser aufgehoben.

        Es scheitert aber an der 140-Zeichen-Hürde. ;-)

        Er kann es ja in Assembler twittern :-)

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
         ☻_
        /▌
        / \ Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
  3. Hi,

    einer Textarea würde ich gerne einen Inhalt mit mehreren Zeilen zuweisen. Und der Inhalt wird aus einer Datenbank ausgelesen. Aber wenn ich jetzt per Javascript und echo sage dass die Textarea value haben soll, dann wird ein Fehler angezeigt.

    Sowas wie “unterminated string literal” o.ä. wird das wohl sein.

    Du kannst in JavaScript nicht „einfach so“ Textliterale mit Zeilenumbrüchen drin notieren.
    Entweder ersetzt du mit PHP die Zeilenumbrüche durch \n, bevor du einen JavaScript-String draus machst, oder du nutzt ein anderes Datenformat wie bspw. JSON, bei dessen Erstellung sich die dafür vorgesehene PHP automatisch darum kümmert, das richtig zu machen.

    Wenn „Lesbarkeit“ des JavaScript-Codes für dich auch noch ein Kriterium sein sollte, dann kannst du ein Textliteral auch über Zeilengrenzen hinaus notieren, musst dann aber jede Zeile zwischendrin mit einem Backslash abschliessen. Der dient aber nur der Fortsetzung, den Zeilenumbruch musst du dann noch extra mittels \n davor angeben.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Hallo ChrisB

      vielen Dank für Deine Antwort. Es handelt sich um diesen Fehler. Und dieser erscheint wenn ich per echo "document.Textarea.value == '$Inhalt';"; mit aus php heraus eintragen an Javascript weitergeben will. Es soll die Möglichkeit bestehen Absätze eingeben zu können. Und wie ersetze ich nun Zeilenumbrüche durch /n wie es von Dir gezeigt wurde? Und am Besten wäre doch dann diesen Inhalt so bereits in der Datenbank zu speichern?

      Vielen Danke Gruß Andreas

      1. Hi,

        Und wie ersetze ich nun Zeilenumbrüche durch /n wie es von Dir gezeigt wurde?

        Schau dir die Stringfunktionen von PHP an.

        Und am Besten wäre doch dann diesen Inhalt so bereits in der Datenbank zu speichern?

        Nein.
        In der Datenbank sollten idR. nur Rohdaten stehen.
        Du willst hier Daten für die Ausgabe in einem bestimmten Kontext aufbereiten - also machst du das auch zu dem Zeitpunkt, bei der Ausgabe.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
      2. Mahlzeit blander,

        Und dieser erscheint wenn ich per echo "document.Textarea.value == '$Inhalt';"; mit aus php heraus eintragen an Javascript weitergeben will.

        Aha - also mal wieder ein typischer Fall von "Kontextwechsel nicht beachtet". Informiere Dich zu diesem Begriff und melde Dich bei konkreten Fragen zur Umsetzung.

        Und am Besten wäre doch dann diesen Inhalt so bereits in der Datenbank zu speichern?

        Nein, auf keinen Fall.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. Hello,

          Und dieser erscheint wenn ich per echo "document.Textarea.value == '$Inhalt';"; mit aus php heraus eintragen an Javascript weitergeben will.

          Aha - also mal wieder ein typischer Fall von "Kontextwechsel nicht beachtet". Informiere Dich zu diesem Begriff und melde Dich bei konkreten Fragen zur Umsetzung.

          Und am Besten wäre doch dann diesen Inhalt so bereits in der Datenbank zu speichern?

          Nein, auf keinen Fall.

          ... weil man ja nie so genau weiß, ob man das JavaScript später als eigene Ressource oder innerhalb einer HTML-Ressource bereitstellen will.

          Der OP bräuchte also eine Funktion "javaScript2html()", die dann alle erforderlichen Maskierungen vornimmt und einen HTML-gerechten String zurückgibt. Dann müsste er nur einmal darüber nachdenken, welche Maßnahmen erforderlich sind.

          Für Textausgaben gibt es ja bereits eine: htmlspecialchars().

          Wie müsste solch eine Funktion aussehen?

          Die könnte dann in den Artikel aufgenommen werden :-)

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          --
           ☻_
          /▌
          / \ Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de