H²O: textarea, aber hidden - mehrzeiliges hidden-feld erzeugen?

Hallo.

Ich will eine textarea erzeugen, die man aber nicht sieht. Ich schreibe dort per JS immer etwas rein, dass dann später auch ausgegeben wird. Der Text ist über mehrere Zeilen und dafür kann ich dann eben kein einzeiliges Textfeld gebrauchen.
Kann mir da jemand helfen?
Also wie kann ich ein unsichtbares Textareafeld erzeugen?
oder ein mehrzeiliges unsichtbares Eingabefeld? (kommt auf's selbe raus)

Das ließe glaube ich per CSS machen (Textfarbe, Hintergrundfarbe,usw. alles gleich), aber da gibt es doch bestimmt eine bessere Möglichkeit, oder?

Vielen Danke, H²O

  1. hi,

    Ich will eine textarea erzeugen, die man aber nicht sieht. Ich schreibe dort per JS immer etwas rein, dass dann später auch ausgegeben wird. Der Text ist über mehrere Zeilen und dafür kann ich dann eben kein einzeiliges Textfeld gebrauchen.

    und warum benutzt du da kein input type="hidden" für?

    wenn du per JS strings darin ablegst, kannst du doch \n für einen zeilenumbruch benutzen.

    gruss,
    wahsaga

    1. Oder so natürlich :-) (*klatschgegenkopf)

      wenn du per JS strings darin ablegst, kannst du doch \n für einen zeilenumbruch benutzen.

      gruss,
      wahsaga

    2. Hallo wahasaga.

      und warum benutzt du da kein input type="hidden" für?

      Weil das nur einzeilige Texte aufnimmt.

      wenn du per JS strings darin ablegst, kannst du doch \n für einen zeilenumbruch benutzen.

      Du meinst, ich soll einfach \n statt dem Zeilenumbruch schreiben?
      Ja, gute Idee. Aber ich übernehme das von einem anderen Textfeld, in das der User etwas reinschreibt und dem kann ich ja schlecht sagen:
      So, ihr müsst jetzt jedesmal \n statt den Zeilenumbruch benutzen.

      Danke trotzdem, H²O

      1. Tach auch...

        Du meinst, ich soll einfach \n statt dem Zeilenumbruch schreiben?
        Ja, gute Idee. Aber ich übernehme das von einem anderen Textfeld, in das der User etwas reinschreibt und dem kann ich ja schlecht sagen:
        So, ihr müsst jetzt jedesmal \n statt den Zeilenumbruch benutzen.

        Das musst du gar nicht, da ein Zeilenumbruch in einem Textfeld automatisch bei der Übergabe das \n beinhaltet. Oder anders ausgedrückt Enter ist \n ... <br> ist ja lediglich die html-tag-Übersetzung für einen Zeilenumbruch oder aber auch \n.

        Gruß Patrick

      2. Dann häng das doch vor Eingabe in Deinen neuen String an den Eingabestring des Users an.

        userstring = userstring + umbruchstring

        Weiß jetzt nicht, wie und ob man mit JS das "" escapen muss, ich hasse JS ;-) Muddu gucken.

        Du meinst, ich soll einfach \n statt dem Zeilenumbruch schreiben?
        Ja, gute Idee. Aber ich übernehme das von einem anderen Textfeld, in das der User etwas reinschreibt und dem kann ich ja schlecht sagen:
        So, ihr müsst jetzt jedesmal \n statt den Zeilenumbruch benutzen.

        Danke trotzdem, H²O

      3. hi,

        Du meinst, ich soll einfach \n statt dem Zeilenumbruch schreiben?
        Ja, gute Idee. Aber ich übernehme das von einem anderen Textfeld, in das der User etwas reinschreibt und dem kann ich ja schlecht sagen:
        So, ihr müsst jetzt jedesmal \n statt den Zeilenumbruch benutzen.

        wenn du mit JS den value eines textfeldes ausliest, werden zeilenumbrüche von JS automatisch als \n bewertet.

        value einer textarea beinhaltet _immer_ einen string, und das value eines hidden feldes nimmt ohne probleme einen string entgegen - also sollte es da gar kein problem geben.

        gruss,
        wahsaga

        1. Hallo.

          value einer textarea beinhaltet _immer_ einen string, und das value eines hidden feldes nimmt ohne probleme einen string entgegen - also sollte es da gar kein problem geben.

          Gibt es aber. Der übernimmt nur den Text und nicht das \n.
          Aber ich habe eine Lösung:
          Ich ersetze \n durch \n. Und wenn ich es wieder brauche wieder \n durch \n.

          Klappt, danke für alles, H²O

          1. value einer textarea beinhaltet _immer_ einen string, und das value eines hidden feldes nimmt ohne probleme einen string entgegen - also sollte es da gar kein problem geben.

            Gibt es aber. Der übernimmt nur den Text und nicht das \n.

            Das stimmt nicht!

            <form>
            <input type="hidden" name="x" value="">
            <textarea rows="10" cols="40" onblur ="this.form.x.value = this.value;">
            </textarea>
            <input type="button" value="klick" onclick="alert(this.form.x.value);">

            </form>

            Struppi.

  2. Wenn Du es mit CSS nur unsichtbar machst, bekommt Dein Besucher ja einen Eingabe-/Markierungscursor auf dem nicht sichtbaren Bereich und könnte sich mit Copy/Paste da was rauskopieren, wäre also eine unschöne Lösung.

    <input type="hidden" name="UserBrowser" value="">
    ist soweit ich es sehe, die einzige Möglichkeit.
    Eine Notlösung: Schreib Dir per JS doch ein Trennzeichen rein, das Du später entsprechend durch ein <br> ersetzt oder das Du mit ner Skriptsprache bei der Auswertung des Formulars entsprechend änderst.

    Gruß,

    Kim

  3. Ich will eine textarea erzeugen, die man aber nicht sieht. Ich schreibe dort per JS immer etwas rein, dass dann später auch ausgegeben wird. Der Text ist über mehrere Zeilen und dafür kann ich dann eben kein einzeiliges Textfeld gebrauchen.
    Kann mir da jemand helfen?

    Willst du nur anzeigen oder den Wert mit einem CGI Skript verarbeiten?

    Im ersten Fall, kannst du einen Layer verwenden zum neu beschreiben.

    Im zweiten Falle kommt es darauf an, was du mit mehrzeilig meinst. a.) willst du im Browser mehrere Zeilen anzeigen, b.) willst du im CGI skript mehrere Zeilen(umbrüche) haben oder c.) willst du im Browser Zeilenumbrüche anzeigen und im CGI Skript keine mehr?

    Struppi.