Tom Kruse: Formatierung von Text in einem Eingebeformulat --» DB Anbindung

Hallo alle,

ich habe folgeden Frage:

Ich möchte, daß ein Besucher in einem Formular eine Text "formatieren" kann. Sprich er gibt den Text ein, makiert z. B. eine Zeile und klickt auf einen Button neben dem Textfeld, aufdem "zentrieren" oder "fett" oder "..." steht. Nach dem Klick soll der markierte Text so "formatiert" in einer ASP Abfrage ausgegeben werden. D. h. der bei der Eingabe fett formatierte Text soll auch fett ausgegeben werden.

Meiner (nichtfachmänischen) Vorstellung setzt irgendetwas (Tool/ JavaScript) vor und nach dem markierten Text den gewünschten Tag.

Wie kann ich das verwirklichen? Und wie gestallte ich die Abfrage, damit die Ausgabe auch erkennt, daß HTML Code in diesem Textfeld existiert? (Bei FP 2000 kann man z. B: angeben, ob das DB Feld HTML enthält und dementsprechend wird es auch interpretiert.)

Vielen Dank schon einmal im Voraus für Eurer "Gedanken machen" und Eure Hilfe.

Tom

  1. Hallo Tom

    Ich möchte, daß ein Besucher in einem Formular eine Text "formatieren" kann. Sprich er gibt den Text ein, makiert z. B. eine Zeile und klickt auf einen Button neben dem Textfeld, aufdem "zentrieren" oder "fett" oder "..." steht. Nach dem Klick soll der markierte Text so "formatiert" in einer ASP Abfrage ausgegeben werden. D. h. der bei der Eingabe fett formatierte Text soll auch fett ausgegeben werden.

    Leider lassen die Formularfelder in HTML bislang keine User-Formatierung zu. Microsoft wollte mal ein <htmlarea>-Tag einfuehren, das wie ein <textarea> funktioniert, aber zusetzlich ein "Rich Text Control" mit Buttons fuer einfache Formatierung enthaelt. Bislang wurde das meines Wissens jedoch nicht implementiert.

    Nun gibt es zumindest die Moeglichkeit, Formularelemente mit Hilfe von CSS zu formatieren und auf diese Weise Formatierungen fuer den gesamten Inhalt eines Eingabefeldes erzwingen. Und wenn man JavaScript dazunimmt, kann man die CSS-Angaben auch nachtraeglich aendern (das ist dann DHTML). Das koennte man auch dialoggesteuert machen, mit Hilfe anderer Formularelemente. Aber das ist recht aufwendig, und das Problem dabei ist, dass die Formatierung nicht mit uebertragen wird, wenn das Formular abgeschickt wird.

    Eine Moeglichkeit noch: dem Anwender mitteilen, welche HTML-Auszeichnungen er bei der Texteingabe benutzen kann. Dazu muss er halt die Tags ins Eingabefeld schreiben. Fuer die Ausgabe dann einfach etwas benutzen, das HTML interpretiert ;-)

    viele Gruesse
      Stefan Muenz

    1. Hi Stefan,

      vielen Dank für Deine Antwort.

      Schade eigendlich, daß so etwas nicht ohne weiteres möglich ist.

      Ist es vielleicht möglich, Buttuns oder Links zu gestallten, die dem Schreiber die Möglichkeit geben, die Tags in das Eingabefeld mit einem Klick an die Cursorposition einzufügen? Damit er sie nicht per Hand eingeben muß...

      Sprich er will eine neue Zeile beginnen (die zentriert und fett ist), klickt auf die Buttons "Anfang Zentrieren" und "Anfang fett", schreibt seine Textzeile und klickt am Ende der Zeile auf die Buttons "Ende zentrieren" und "Ende fett". Und jedesmal wird der gewünschte Tag (<center><b> und </b></center>) an die jeweilige Cursorposition eingefügt.

      Oder ist das Deiner Meinug nach zu umständlich in Bezug auf die "Erleichterung", die der Schreiber hat?

      Falls Du es für "sinnvoll" hälst, bitte ich Dich, mir kurz zu helfen. Ich habe zwar das "HTML 4.0 Handbuch" von Euch, weiß allerdings nicht, wo ich bei den vielen Beispielen, die m. E. sehr gut sind, suchen bzw. nachschauen muß.

      Gruß
         Tom

      1. Hallo Tom ;-)

        Sprich er will eine neue Zeile beginnen (die zentriert und fett ist), klickt auf die Buttons "Anfang Zentrieren" und "Anfang fett", schreibt seine Textzeile und klickt am Ende der Zeile auf die Buttons "Ende zentrieren" und "Ende fett". Und jedesmal wird der gewünschte Tag (<center><b> und </b></center>) an die jeweilige Cursorposition eingefügt.

        Dies wollte ich auch schon mal für eine HTML-basierte Eingabemaske zu einem Redaktionssystem programmieren, um damit den Redakteuren das Leben zu erleichtern.

        Ich habe mich dann auf die Suche gemacht, aber nach einigen Stunden/Tage des recherchierens und experimentierens festgestellt, das es wohl doch nicht geht.
        Der Grund liegt darin, das bis jetzt in JavaScript kein Selection-Objekt (oder sowas ähnliches) für Text-Felder gibt.
        Dieses würde benötigt um vor und nach dem (durch den Benutzer) selektierten Text die entsprechenden Tags einzufügen.
        Doch nix da ;-((

        Jedoch hat mir damals Hartmut hier im Forum ein Lösungsansatz aufgezeigt <../../sfarchiv/1999_4/t09592.htm>, wie man das Fehlen eines solchen Objektes/Methode umgehen kann.
        Da dieser Workaround dann doch zu aufwendig war, mussten die Redakteure halt ohne diese Feature auskommen.
        Trotzdem nochmals ein dickes Dankeschön an Hartmut :-)

        Grüsse
        Tom

        1. Hi Tom,

          schade - trotzdem vielen Dank.

          Tom