Fraction: Hilfe.. bei \n

Ich habe mühsam versucht mir ein Script zu bauen das Zeilenumbrüche in einer Textarea als <br>'s umwandelt:

<script type="text/javascript">
<!--
function Replace() {
 var string = "\n";
 var jetzt = string.replace(/\n/,"<br>\n");
 document.write(jetzt);
}
//-->
</script>

Dazu noch auf dem Submit Button:

<... onSubmit="return Replace();">

Aber irgendwie vergebens.. Isch hab da halt net so ne peilung von :(
thx 4 help

Fraction

  1. hi,

    Ich habe mühsam versucht mir ein Script zu bauen das Zeilenumbrüche in einer Textarea als <br>'s umwandelt

    ja, und das wird auch nur ganz wenig weiter unten noch heftig debattiert, und da hast du jede Möglichkeit, deine weiterführenden Fragen anzubringen.
    Du verscherzt dir bloß die Gutwilligkeit derer, die dir etwas zu errklären versuchen, wenn du jetzt nen neuen Thread aufmachst. Bleib bei deinem Thread weiter unten.

    Chriustoph S.

    1. hi,

      Ich habe mühsam versucht mir ein Script zu bauen das Zeilenumbrüche in einer Textarea als <br>'s umwandelt

      ja, und das wird auch nur ganz wenig weiter unten noch heftig debattiert, und da hast du jede Möglichkeit, deine weiterführenden Fragen anzubringen.
      Du verscherzt dir bloß die Gutwilligkeit derer, die dir etwas zu errklären versuchen, wenn du jetzt nen neuen Thread aufmachst. Bleib bei deinem Thread weiter unten.
      Chriustoph S.

      Sorry, ich kenne die Regeln noch nicht so richtig und werde mich weiter unten weiterbeschäftigen.
      Danke für die Hilfe soweit.

      Grüße, Fraction

      PS.
      mit der verwirrung kommt sie der Sache schon recht nahe........

  2. Hallo Fraction

    zuerst, es wäre richtiger gewesen, im Thread diese weiterführende Frage zu stellen.

    Ich habe mühsam versucht mir ein Script zu bauen das Zeilenumbrüche in einer Textarea als <br>'s umwandelt:

    <script type="text/javascript">
    <!--
    function Replace() {
    var string = "\n";
    var jetzt = string.replace(/\n/,"<br>\n");
    document.write(jetzt);
    }
    //-->
    </script>

    Dazu noch auf dem Submit Button:

    <... onSubmit="return Replace();">

    ohje ohje, du hast noch weniger Peilung als ich erhofft hatte. Nun ich versuche es zu erklären.

    deine Seite könnte so aussehen:

    <html>
    <head>
    <title></title>
    </head>
    <body>
    <form action="deineZielseite.html" method="post" name="formular">
    <textarea name="inhalt" cols="20" rows="10"></textarea>
    <input type="Submit" name="absenden" value="absenden">
    </form>

    </body>
    </html>

    Klickt der Nutzer jetzt auf absenden, so wird das Formular an den Server übertragen.

    Du möchtest nun _vor_ der Übertragung im Textarea alle Zeilenumbrüche ersetzen.

    Damit dies genau vor dem Absenden des Formulares passiert, wird der Eventhandler onsubmit verwendet, der im form-Tag und nicht im Submitbutton notiert wird.

    Dein Formtag könnte jetzt so aussehen:

    <form action="deineZielseite.html" method="post" name="formular" onSubmit="return br_ersetzen();">

    (Ich habe die Funktion umbenannt, damit man weiß, was sie tut).

    function br_ersetzen() {}

    In der Funktion brauchst du erstmal den Inhalt des Textareas. Den erhälst du mit document.formular.inhalt.value und speicherst in z.B. auf eine Variable.

    Deine Funktion besteht jetzt aus den Zeilen:

    function br_ersetzen()
    {
     var string=document.formular.inhalt.value;

    }

    Mit replace ersetzt du den Inhalt im String selbst. Im Unterschied zu deiner Funktion ist jedoch der Inhalt des Textareas in der Variablen string gespeichert.

    function br_ersetzen() {
    var string=document.formular.inhalt.value;
    var jetzt = string.replace(/\n/,"<br>\n");
    }

    Der Rückgabewert der Methode befindet sich jetzt in der Variablen jetzt.

    Allerdings wird nur der erste Umbruch ersetzt. Damit alle ersetzt werden, notierst du hinter dem 2. / ein g.

    function br_ersetzen() {
    var string=document.formular.inhalt.value;
    var jetzt = string.replace(/\n/g,"<br>\n");
    }

    damit ist die Ersetzung erledigt. Jetzt weiß ich nicht was du genau willst.
    Willst du das Formular absenden, dann, mußt du dem Textarea als neuen Wert den Wert von jetzt zuweisen und return true (zum abschicken des Formulares) zurückgeben.

    deine Funktion sieht dann so aus:

    function br_ersetzen() {
     var string=document.formular.inhalt.value;
     var jetzt = string.replace(/\n/g,"<br>\n");

    document.formular.inhalt.value=jetzt;

    return true;
    }

    willst du den Text ins document schreiben (Achtung, wird immer eine neue Seite), dann geht es so und du mußt return false zurückgeben.

    function br_ersetzen() {
     text=document.formular.inhalt.value;
     var jetzt = text.replace(/\n/g,"<br>\n");

    document.open();
     document.write(jetzt)
     document.close()
     return false;
    }

    Ich hoffe du siehst jetzt etwas mehr durch, wenn nicht frage einfach.

    Viele Grüße

    Antje

    1. Ich hoffe du siehst jetzt etwas mehr durch, wenn nicht frage einfach.

      Viele Grüße

      Antje

      Liebe Antje, natürlich sehe ich noch nicht komplett durch.
      (Stichwort Verwirrt)

      Aber was du da schreibst ist ja eine richtige Anleitung für Java-Script, die Zusammenhänge erklärt usw.
      Ich kann damit eine Menge anfangen, jedoch leider nicht mehr heute Nacht.

      Wenn ich mich wieder dransetze und noch auf Probleme stoße werdet ihr sicherlich wieder von mir hören.

      Vielen Dank an alle, Fraction