Wowbagger: textarea - ein wenig knifflig...

Hallo leute,

wir hatten das thema textarea schon zu hauf (siehe arc), jedoch ist mir wohl dabei etwas entgangen.

Also: Ich möchte, im idealfall, daß der benutzer strings aus einer select box wählen kann und diese dann an der aktuellen cursorposition innerhalb einer textarea eingetragen werden. D.h. der benutzer setzt den cursor und wählt aus der box und der entspr. string wird eingefügt. Der über-idealfall wäre dann: User markiert per doppelklick oder drag eine textpassage und wählt in der selectbox ein substitut dafür aus (fast schon magie! *g*).
Könnte man das nun auch noch vernünftig mit CSS innerhalb einer textarea kombinieren, hätte man bestes rüstzeug für einen WYSIWYG-texteditor (ihr seht, worauf ich hinaus will? ;))

Nun habe ich verschiedene ansätze probiert, das übliche durch-den-rücken-und-die-brust-ins-auge-zeug, mit einem div, eigenen mouse-handlern, dem umrechnen des klickpunktes auf eine position in der textarea, aber das ist alles ungenauer müll und bringt zudem bestimmte unlösbare probs mit sich (erscheinungsbild in der textarea vs. tatsächlicher value-string...gut, ich weis, wo der user innerhalb der _matrizen-artigen_ textarea geklickt hat, aber kann ich dann auch tatsächlich immer zuverlässig auf die genaue position im _sequentiellen_ value-string schließen? Ich denke nein!

Also, lange rede kurzer sinn: Ich gehe einmal davon aus, daß man hier mit dem NN4 nicht rechnen kann...hat nun also der IE4 (nicht 5 wohlbemerkt!) ggf. proprietäre eigenschaften und methoden des textarea-objektes zu bieten? Sowas wie "document.formular.textfeld.getHighlightedText()" (traumhaft), oder "...getCurrentCursorPos()" (göttlich) ???

Ich frage deshalb so naiv, weil ich mich bislang nie auf dinge konzentriert habe, die ausschließlich ein bestimmter browser beherrscht, also mich nie mit proprietären sachen beschäftigt habe.

Bin 'mal gespannt...
/*,*/
Wowbagger

  1. hi,

    Also: Ich möchte, im idealfall, daß der benutzer strings aus einer select box wählen kann und diese dann an der aktuellen cursorposition innerhalb einer textarea eingetragen werden. D.h. der benutzer setzt den cursor und wählt aus der box und der entspr. string wird eingefügt.

    versuchs mal mit createRange(). ist eine JScript Methode. oder beim NN mit getSelection. und dann setzt du einfach hinter die selection den text ein.

    Der über-idealfall wäre dann: User markiert per doppelklick oder drag eine textpassage und wählt in der selectbox ein substitut dafür aus (fast schon magie! *g*).
    Könnte man das nun auch noch vernünftig mit CSS innerhalb einer textarea kombinieren, hätte man bestes rüstzeug für einen WYSIWYG-texteditor (ihr seht, worauf ich hinaus will? ;))

    sowas gibt's (als texteditor fuer wml) doch aber schon <werbung mach>http://www.jan-winkler.de/dev/d_wmle.htm</werbung mach>

    Also, lange rede kurzer sinn: Ich gehe einmal davon aus, daß man hier mit dem NN4 nicht rechnen kann...

    ich hab zuerst auch versucht den oben genannten wml editor für beide zu schreiben (mit weniger als garkein erfolg), aber für speicher und daten funktionen hab ich dann doch hta gebraucht und somit den IE als einzigen browser.

    hat nun also der IE4 (nicht 5 wohlbemerkt!) ggf. proprietäre eigenschaften und methoden des textarea-objektes zu bieten? Sowas wie "document.formular.textfeld.getHighlightedText()" (traumhaft), oder "...getCurrentCursorPos()" (göttlich) ???

    ersteres kannst du mit createRange() erlangen. von zweiterem traeume ich auch noch - dann muesste man nicht immer den text markieren HINTER dem man etwas einfeugen will... hat jemand eine idee?

    gruss,
    frank_eee.

    PS: soll keine schleichwerbung sein. nur dass man mal schauen kann, wie weit das so möglich ist...

    1. Hi Frank,

      versuchs mal mit createRange(). ist eine JScript Methode. oder beim NN mit getSelection. und dann setzt du einfach hinter die selection den text ein.

      ich habe jetzt eine IE4++ only lösung und die funkt relativ brauchbar (ich werd' die bald 'mal posten, weil ich noch etwas anderes klären möchte).
      getSelection ist aufgrund eines NN4 eventhandler-bugs unbrauchbar (onselect im area-tag funkt bekanntlich nicht, zumindest unter Win) ansonsten würde das auch ohne großen aufwand im NN4 funken...schade! Da unterstützt der NN schonmal ein event und es ist fehlerhaft implementiert *grmpf*

      sowas gibt's (als texteditor fuer wml) doch aber schon <werbung mach>http://www.jan-winkler.de/dev/d_wmle.htm</werbung mach>

      »»

      habe mir das teil einmal runtergeladen und schaue ihn mir bei gelegenheit an...will nur erstmal schauen, daß ich _selber_ weiterkomme, ich kupfere nicht so furchtbar gerne ab (außer bei tips & tricks halt)...

      ich hab zuerst auch versucht den oben genannten wml editor für beide zu schreiben (mit weniger als garkein erfolg), aber für speicher und daten funktionen hab ich dann doch hta gebraucht und somit den IE als einzigen browser.

      ja, laden und speichern will ich auch noch implementieren bei gelegenheit...
      na ja, klingt vielleicht überheblich, aber: die knapp 10% die noch den alten NN benutzen haben halt pech gehabt...geht nunmal nicht anders (tut mir nur leid um die Linux-user, ehrlich!)

      hat nun also der IE4 (nicht 5 wohlbemerkt!) ggf. proprietäre eigenschaften und methoden des textarea-objektes zu bieten? Sowas wie "document.formular.textfeld.getHighlightedText()" (traumhaft), oder "...getCurrentCursorPos()" (göttlich) ???

      ersteres kannst du mit createRange() erlangen. von zweiterem traeume ich auch noch - dann muesste man nicht immer den text markieren HINTER dem man etwas einfeugen will... hat jemand eine idee?

      ich sage ja: wäre göttlich *g*

      PS: soll keine schleichwerbung sein. nur dass man mal schauen kann, wie weit das so möglich ist...

      quatsch schleichwerbung! das paßt doch hierher wie die faust auf's auge :-)

      bis denn
      /*,*/
      Wowbagger

      1. re:Hi

        getSelection ist aufgrund eines NN4 eventhandler-bugs unbrauchbar (onselect im area-tag funkt bekanntlich nicht, zumindest unter Win) ansonsten würde das auch ohne großen aufwand im NN4 funken...schade! Da unterstützt der NN schonmal ein event und es ist fehlerhaft implementiert *grmpf*

        was macst du mit onselect und areas? ich denke du brauchst textareas und createRange...

        gruss,
        frank_eee