wolfi: Textarea mit Zeilenumbruch !

Ich nöchte aus einem Textarea die Zeilenumbrüche mitübergeben. Es gibt zwar den Befehl "wrap=physical" doch wenn ich es abschicke zeigt es mir bei den Parametern in der Adressleiste keine Zeilenumbrüche an, ausserdem kommt der Text nicht so an wie er in das Textarea geschrieben wurde. Gibt es eine Möglichkeit die Zeilenumbrüche zu übergeben ohne das man Return am Ende jeder Zeile drücken muss ?

  1. Moin!!!

    Ich nöchte aus einem Textarea die Zeilenumbrüche mitübergeben. Es gibt zwar den Befehl "wrap=physical" doch wenn ich es abschicke zeigt es mir bei den Parametern in der Adressleiste keine Zeilenumbrüche an, ausserdem kommt der Text nicht so an wie er in das Textarea geschrieben wurde. Gibt es eine Möglichkeit die Zeilenumbrüche zu übergeben ohne das man Return am Ende jeder Zeile drücken muss ?

    Laut Standard gibts kein Attribut "wrap". Folglich kann man das auch nicht einstellen. Es ändert ohnehin nur, wie die eingegebenen Zeichen angezeigt werden, und ob Scrollbalken auftauchen, nichts anderes.

    Die Textarea sendet die Zeichen, die man eingegeben hat. Wurden keine Returns eingegeben, werden auch keine gesendet.

    Und was die Zeichenänderung angeht: Die Formulardaten werden natürlich URL-encoded gesendet, damit für URL-Zwecke reservierte Zeichen nicht ungewollt wirksam werden. Du mußt also die Zeichen irgendwie dekodieren, sofern das nicht eine Skriptsprache wie PHP für dich erledigt.

    BTW: Du sprichst von "Parametern in der Adressleiste". Dann scheint es, als benutzt du method="GET". Das kann bei zuvielen eingegebenen Daten Probleme machen. POST wäre da besser, braucht aber zwingend serverseitige Skripte.

    - Sven Rautenberg

    1. Moin!!!

      Ich nöchte aus einem Textarea die Zeilenumbrüche mitübergeben. Es gibt zwar den Befehl "wrap=physical" doch wenn ich es abschicke zeigt es mir bei den Parametern in der Adressleiste keine Zeilenumbrüche an, ausserdem kommt der Text nicht so an wie er in das Textarea geschrieben wurde. Gibt es eine Möglichkeit die Zeilenumbrüche zu übergeben ohne das man Return am Ende jeder Zeile drücken muss ?

      Laut Standard gibts kein Attribut "wrap". Folglich kann man das auch nicht einstellen. Es ändert ohnehin nur, wie die eingegebenen Zeichen angezeigt werden, und ob Scrollbalken auftauchen, nichts anderes.

      Die Textarea sendet die Zeichen, die man eingegeben hat. Wurden keine Returns eingegeben, werden auch keine gesendet.

      Und was die Zeichenänderung angeht: Die Formulardaten werden natürlich URL-encoded gesendet, damit für URL-Zwecke reservierte Zeichen nicht ungewollt wirksam werden. Du mußt also die Zeichen irgendwie dekodieren, sofern das nicht eine Skriptsprache wie PHP für dich erledigt.

      BTW: Du sprichst von "Parametern in der Adressleiste". Dann scheint es, als benutzt du method="GET". Das kann bei zuvielen eingegebenen Daten Probleme machen. POST wäre da besser, braucht aber zwingend serverseitige Skripte.

      • Sven Rautenberg

      Ich weiss dass es laut Standard das Attribut wrap nicht gibt aber sowohl netscape als auch der internet explorer kennt es und laut selfhtml bewirkt das attribut wrap folgendes .... "
      wrap="hard" wird von Netscape 4.x interpretiert und bewirkt automatischen Zeilenumbruch bei der Anzeige. Beim Absenden des Formulars werden die Zeilenumbruchzeichen an Stellen, wo der Text automatisch umgebrochen ist, übertragen."....
      Die Get-Methode verwende ich damit ich sehe was übermittelt wird, auf Server-Seite schreibt ein JSP-File den Text in eine xml-Datei. Ich will jetzt aber dass wenn ich den Text aus der xml-Datei herauslese und in html ausgebe, das dieser dann wieder in der Form vorliegt, wie ich er im Textarea eingegeben wurde, denn es sieht doof aus wenn ich dann eine ziemlich lange Zeile habe und um diese zu lesen scrollen muss.

      Wolfi

      1. Re-Moin!!!

        http://learn.to/quote und </faq/#Q-09a>. Ich bitte freundlich um Beachtung.

        Ich weiss dass es laut Standard das Attribut wrap nicht gibt aber sowohl netscape als auch der internet explorer kennt es und laut selfhtml bewirkt das attribut wrap folgendes .... "

        Du setzt Features ein, die in allen anderen als speziellen Browsern nicht funktionieren, und wunderst dich, daß sie nicht funktionieren?

        wrap="hard" wird von Netscape 4.x interpretiert und bewirkt automatischen Zeilenumbruch bei der Anzeige. Beim Absenden des Formulars werden die Zeilenumbruchzeichen an Stellen, wo der Text automatisch umgebrochen ist, übertragen."....

        Tja, wenn du denn auch von wrap="hard" geschrieben hättest... Du hast aber von wrap="physical" geschrieben.

        Die Get-Methode verwende ich damit ich sehe was übermittelt wird, auf Server-Seite schreibt ein JSP-File den Text in eine xml-Datei. Ich will jetzt aber dass wenn ich den Text aus der xml-Datei herauslese und in html ausgebe, das dieser dann wieder in der Form vorliegt, wie ich er im Textarea eingegeben wurde, denn es sieht doof aus wenn ich dann eine ziemlich lange Zeile habe und um diese zu lesen scrollen muss.

        Wie gibst du denn diese Zeile aus? In einer Textarea? Einfach das gleiche wrap benutzen sollte helfen.

        <pre>? Dann hast du in der Tat ein Problem, aber woher willst du wissen, daß die im Browser umbrochene Zeile nicht auch noch zu lang für die Anzeige ist. BTW: Opera kennt kein Wrap, fügt also auch keine Zeilenumbrüche ein, und du hast das Problem immer noch.

        Du solltest Eingabeprobleme von Ausgabeproblemen trennen. Die Zeilenlänge bei der Ausgabe ist ein Ausgabeproblem. Löst du das anders (z.B. durch automatischen Textumbruch, wie ihn HTML meist verwendet, z.B. innerhalb von <p></p>), entfällt die Notwendigkeit einer speziellen, aber standardwidrigen Textarea.

        - Sven Rautenberg

        1. Re-Moin!!!

          http://learn.to/quote und </faq/#Q-09a>. Ich bitte freundlich um Beachtung.

          danke für den Tip

          Du setzt Features ein, die in allen anderen als speziellen Browsern nicht funktionieren, und wunderst dich, daß sie nicht funktionieren?

          die Feature funktioneren auch in allen anderen Browser nicht

          Tja, wenn du denn auch von wrap="hard" geschrieben hättest... Du hast aber von wrap="physical" geschrieben.

          wrap="physical" betrifft den internet explorer

          Die Get-Methode verwende ich damit ich sehe was übermittelt wird, auf Server-Seite schreibt ein JSP-File den Text in eine xml-Datei. Ich will jetzt aber dass wenn ich den Text aus der xml-Datei herauslese und in html ausgebe, das dieser dann wieder in der Form vorliegt, wie ich er im Textarea eingegeben wurde, denn es sieht doof aus wenn ich dann eine ziemlich lange Zeile habe und um diese zu lesen scrollen muss.

          Wie gibst du denn diese Zeile aus? In einer Textarea? Einfach das gleiche wrap benutzen sollte helfen.

          </table>
              <table width="400" border="0">
                 <tr style=" font-family: verdana; font-size: 10pt; background: #f5f5f5;">
                  <td>
                  <pre><xsl:value-of select="inhalt"/></pre>
                  <br/><br/>Datum
                   <xsl:value-of select="datum"/>
                  </td>
                  </tr>
                 </table>

          <pre>? Dann hast du in der Tat ein Problem, aber woher willst du wissen, daß die im Browser umbrochene Zeile nicht auch noch zu lang für die Anzeige ist. BTW: Opera kennt kein Wrap, fügt also auch keine Zeilenumbrüche ein, und du hast das Problem immer noch.

          indem ich den Ausgabebereich grösser wähle als den Eingabebereich, deshalb ist wrap auch nicht unbedingt die geeignete Lösung

          Du solltest Eingabeprobleme von Ausgabeproblemen trennen. Die Zeilenlänge bei der Ausgabe ist ein Ausgabeproblem. Löst du das anders (z.B. durch automatischen Textumbruch, wie ihn HTML meist verwendet, z.B. innerhalb von <p></p>), entfällt die Notwendigkeit einer speziellen, aber standardwidrigen Textarea.

          hört sich gut an, und wo füge ich das ein ?

          Wolfi

          1. Re-Re-Moin!!!

            </table>
                <table width="400" border="0">
                   <tr style=" font-family: verdana; font-size: 10pt; background: #f5f5f5;">
                    <td>
                    <pre><xsl:value-of select="inhalt"/></pre>
                    <br/><br/>Datum
                     <xsl:value-of select="datum"/>
                    </td>
                    </tr>
                   </table>

            <pre>? Dann hast du in der Tat ein Problem, aber woher willst du wissen, daß die im Browser umbrochene Zeile nicht auch noch zu lang für die Anzeige ist. BTW: Opera kennt kein Wrap, fügt also auch keine Zeilenumbrüche ein, und du hast das Problem immer noch.

            indem ich den Ausgabebereich grösser wähle als den Eingabebereich, deshalb ist wrap auch nicht unbedingt die geeignete Lösung

            Du solltest Eingabeprobleme von Ausgabeproblemen trennen. Die Zeilenlänge bei der Ausgabe ist ein Ausgabeproblem. Löst du das anders (z.B. durch automatischen Textumbruch, wie ihn HTML meist verwendet, z.B. innerhalb von <p></p>), entfällt die Notwendigkeit einer speziellen, aber standardwidrigen Textarea.

            hört sich gut an, und wo füge ich das ein ?

            Das mußte ich jetzt mal unkommentiert voll quoten. Ich kann nicht glauben, daß du mit XML, XSL etc. rummachst, und vom simpelsten aller HTML-Tags namens <p> noch nichts gehört hast.

            Abgesehen davon: Lass bei deiner Transformation einfach das <pre> weg, schon sollte es automatisch umbrechen, und zwar entsprechend der zur Verfügung stehenden Breite. Courierschrift kriegst du auch mit <tt> hin, oder mit Stylesheets (wobei <tt> unter Umständen vorzuziehen ist, da es eine logische Textauszeichnung ist und in Nicht-CSS-Browsern ebenso wirkt wie in CSS-Browsern).

            - Sven Rautenberg

            1. Du solltest Eingabeprobleme von Ausgabeproblemen trennen. Die Zeilenlänge bei der Ausgabe ist ein Ausgabeproblem. Löst du das anders (z.B. durch automatischen Textumbruch, wie ihn HTML meist verwendet, z.B. innerhalb von <p></p>), entfällt die Notwendigkeit einer speziellen, aber standardwidrigen Textarea.

              hört sich gut an, und wo füge ich das ein ?

              Das mußte ich jetzt mal unkommentiert voll quoten. Ich kann nicht glauben, daß du mit XML, XSL etc. rummachst, und vom simpelsten aller HTML-Tags namens <p> noch nichts gehört hast.

              dachte du hättest eine sinnvolle Lösung , wenn Du schon das Tag <p> erwähnst

              Abgesehen davon: Lass bei deiner Transformation einfach das <pre> weg, schon sollte es automatisch umbrechen, und zwar entsprechend der zur Verfügung stehenden Breite. Courierschrift kriegst du auch mit <tt> hin, oder mit Stylesheets (wobei <tt> unter Umständen vorzuziehen ist, da es eine logische Textauszeichnung ist und in Nicht-CSS-Browsern ebenso wirkt wie in CSS-Browsern).

              das hat schon einen Grund warum ich das <pre> Tag verwende
              in meinem xml-File steht z.B.
              <inhalt>
              bla bla !

              bla bla bla bla bla bla bla bla bla bla bla bla blabla bla bla bla !
              </inhalt>

              wenn ich das <pre> Tag weglasse gibt er mit folgendes nach Transformation mit xsl-Stylesheets in html aus

              bla bla ! bla bla bla bla bla bla bla bla bla bla bla bla blabla bla bla bla !

              ich will aber das der Freiraum beibehalten wird und das es einen Zeilenumbruch gibt sobald die Ausgabe den vorgegebenen Bereich übersschreitet

              1. Moin!

                das hat schon einen Grund warum ich das <pre> Tag verwende
                in meinem xml-File steht z.B.
                <inhalt>
                bla bla !

                bla bla bla bla bla bla bla bla bla bla bla bla blabla bla bla bla !
                </inhalt>

                wenn ich das <pre> Tag weglasse gibt er mit folgendes nach Transformation mit xsl-Stylesheets in html aus

                bla bla ! bla bla bla bla bla bla bla bla bla bla bla bla blabla bla bla bla !

                ich will aber das der Freiraum beibehalten wird und das es einen Zeilenumbruch gibt sobald die Ausgabe den vorgegebenen Bereich übersschreitet

                Du willst in unstrukturierten Text eine Struktur bringen, die dort nur ganz schwer reinzubringen ist.

                Abgesehen davon, daß ich <pre> so ziemlich für das ungeeignetste Element der Textformatierung halte, solltest du vielleicht doch irgendeine Routine vorschalten, um im eingegebenen Text Strukturen zu erkennen und in XML abzubilden. Oder PDFs machen. :)

                HTML/XML sind dafür da, die logische Struktur von Daten elektronisch erfaßbar zu machen. Wenn du aber nur strukturlosen Text hast, endlos aufeinanderfolgende Zeichen, dann ist das ein Problem.

                Es ist auch ein Problem, "einfach mal so" eine Tabelle einzugeben. Tabulatoren sind für sowas nur dann geeignet, wenn die Tab-Breite (Anzahl der Leerzeichen, die übersprungen werden) bei Eingabe und Ausgabe identisch sind. Ist die Breite unterschiedlich, wird die Tabelle vermutlich zerrissen. Und Tabulatoren werden dort auch nicht für die logische Strukturierung eingesetzt, sondern für die physikalische Strukturierung: Ein Tabulator bedeutet nicht "Sprung zur nächsten Tabellenspalte", sondern "Sprung zur nächsten Tabulatormarke, welche aber noch in der gleichen, breiten Spalte liegen kann - die nächste Spalte ist 2 Tabs entfernt".

                Und das alles nur wegen des vermeintlichen Komforts der User, die eine (vom logischen Aufbau völlig anders strukturierte) Textverarbeitung gewohnt sind? Klar ist es einfacher, bereits Gelerntes Programmwissen einfach weiterzubenutzen. Und ich befürworte auch immer nutzerfreundliche Methoden, die es ihm möglichst einfach machen. In diesem Fall wäre dann aber eigentlich ein WYSIWYG-Eingabeprogramm notwendig. Oder eben die Anpassung der User auf wenigstens minimale Erfordernisse der EDV. Browser sind keine Textverarbeitung und werden es auch niemals sein.

                - Sven Rautenberg

                1. Moin!

                  das hat schon einen Grund warum ich das <pre> Tag verwende
                  in meinem xml-File steht z.B.
                  <inhalt>
                  bla bla !

                  bla bla bla bla bla bla bla bla bla bla bla bla blabla bla bla bla !
                  </inhalt>

                  wenn ich das <pre> Tag weglasse gibt er mit folgendes nach Transformation mit xsl-Stylesheets in html aus

                  bla bla ! bla bla bla bla bla bla bla bla bla bla bla bla blabla bla bla bla !

                  ich will aber das der Freiraum beibehalten wird und das es einen Zeilenumbruch gibt sobald die Ausgabe den vorgegebenen Bereich übersschreitet

                  Du willst in unstrukturierten Text eine Struktur bringen, die dort nur ganz schwer reinzubringen ist.

                  Abgesehen davon, daß ich <pre> so ziemlich für das ungeeignetste Element der Textformatierung halte, solltest du vielleicht doch irgendeine Routine vorschalten, um im eingegebenen Text Strukturen zu erkennen und in XML abzubilden. Oder PDFs machen. :)

                  HTML/XML sind dafür da, die logische Struktur von Daten elektronisch erfaßbar zu machen. Wenn du aber nur strukturlosen Text hast, endlos aufeinanderfolgende Zeichen, dann ist das ein Problem.

                  Es ist auch ein Problem, "einfach mal so" eine Tabelle einzugeben. Tabulatoren sind für sowas nur dann geeignet, wenn die Tab-Breite (Anzahl der Leerzeichen, die übersprungen werden) bei Eingabe und Ausgabe identisch sind. Ist die Breite unterschiedlich, wird die Tabelle vermutlich zerrissen. Und Tabulatoren werden dort auch nicht für die logische Strukturierung eingesetzt, sondern für die physikalische Strukturierung: Ein Tabulator bedeutet nicht "Sprung zur nächsten Tabellenspalte", sondern "Sprung zur nächsten Tabulatormarke, welche aber noch in der gleichen, breiten Spalte liegen kann - die nächste Spalte ist 2 Tabs entfernt".

                  Und das alles nur wegen des vermeintlichen Komforts der User, die eine (vom logischen Aufbau völlig anders strukturierte) Textverarbeitung gewohnt sind? Klar ist es einfacher, bereits Gelerntes Programmwissen einfach weiterzubenutzen. Und ich befürworte auch immer nutzerfreundliche Methoden, die es ihm möglichst einfach machen. In diesem Fall wäre dann aber eigentlich ein WYSIWYG-Eingabeprogramm notwendig. Oder eben die Anpassung der User auf wenigstens minimale Erfordernisse der EDV. Browser sind keine Textverarbeitung und werden es auch niemals sein.

                  jeder braucht auf eine Art und Weise Anerkennung und du kriegst sie wahrscheinlich dadurch dass du den ganzen Tag vor dem Rechner hockst und versuchst Leuten zu helfen. Würdest du dieses tun wäre dir mancher dankbar, auch ich. Doch anstatt gezielt eine sinnvolle
                  Antwort zu geben versuchst du mit deinem Pseudowissen Aufmerksamkeit zu erlangen. Ich habe ein Problem geschildert und will lediglich wissen ob es dafür eine Lösung gibt oder nicht und keinen Aufsatz über Browser. Trotzdem danke für deine Bemühungen.