Javascript ist Toll!

11. October 2005 - 10:03

Text in Textarea einfügen

Dieser Text ist etwas veraltet, zeigt aber das Grundprinzip, wie ein Text in eine Textarea eingefügt werden kann. Für BB-Code, habe ich mittlerweile eine andere Funktion geschrieben, diese findet ihr hier.

Text an der Cursorposition einfügen können nur der IE ab Version 5 und Mozilla Browser. Opera bleibt aussen vor. Wie es bei Mac und Linux Browsern aussieht, weiß ich nicht.

Mit dem Skript, können z.b. BBCode Tags eingefügt werden oder Smilies. Das Skript sieht so aus:

function insert(input, aTag, eTag) {
    input.focus();
    if(!aTag) return;
    if(!eTag) eTag = '';
 
    if(typeof document.selection != 'undefined')     {
         var range = document.selection.createRange();
         var insText = range.text;
         if(!insText && eTag) return alert('Nichts markiert!');
         range.text = aTag + insText + eTag;
         range = document.selection.createRange();
         if (insText.length == 0)  range.move('character', -eTag.length);
         else  range.moveStart('character', aTag.length + insText.length + eTag.length);
         range.select();
    } else if(typeof input.selectionStart != 'undefined') {
         var start = input.selectionStart;
         var end = input.selectionEnd;
         var insText = input.value.substring(start, end);
         if(!insText && eTag) return alert('Nichts markiert!');
         input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
         var pos;
         if (insText.length == 0)  pos = start + aTag.length;
         else pos = start + aTag.length + insText.length + eTag.length;
         input.selectionStart = pos;
         input.selectionEnd = pos;
    } else {
         alert('Du kannst nach Hause gehen!nnLeider unterstützt dein Browser nicht die notwendige Funktion!');
    }
}

Das Skript ist eine leicht abgewandelte Form von dem Beispiel bei selfhtml

Beispiel


ähnliche Artikel

  • 30. March 2009 -- BB Code Buttons (6)

    Ich hatte in der Vergangenheit ja schon einmal ein...

  • 18. November 2011 -- LED Editor (1)

    LED Scroller Chareditor Dieses Skript dient zum...

  • 13. May 2009 -- String Erweiterungen (5)

    Eine der Eigenschaften von Javascript, die sie von...

Comments (12)
1017 mal gelesen.

12 Kommentare

Leave a comment »

Seiten:

1. Comment von: beetlejuice
2. January 2006: 12:49

hiho!
man kann zwar text einfügen-aber wozu? das areafeld ist doch schon zum reinschreiben.
interessanter wär es doch, das an der richtigen position, ohne vorher zu markieren, nur reinklicken ,eintragen zu lassen….

2. Comment von: Struppi
2. January 2006: 13:01

Um z.b. BBCode einzufügen.

3. Comment von: Shorty
26. April 2007: 21:09

Wie ein kleines forum

4. Comment von: Andreas
18. June 2009: 15:29

Hallo,

leider funktioniert das ganze nicht, wenn man auch prototype nutzt. Ist das Problem bekannt und gibt es dafür eine Lösung?

Danke
Andreas

5. Comment von: Struppi
18. June 2009: 16:46

Ich wüßte nicht, woran sich Prototype stören sollte.

6. Comment von: Andreas
18. June 2009: 19:10

Hallo Struppi,

Prototype geht, aber dieses Script hier nicht mehr …. also andersherum …

Grüße
Andreas

7. Comment von: Struppi
19. June 2009: 0:11

Da sollte sich erst recht nichts in die Quere kommen, aber ich kenn Prototype nicht so gut. In der Fehlerkonsole steht auch nichts?

8. Comment von: Andreas
19. June 2009: 2:18

Hallo Struppi,

nein, es gibt keinen Fehler, es passiert einfach nur “Nichts”. Nehme ich die Prototype aus dem Header raus, gehts. Sehr komisch …

9. Comment von: Struppi
19. June 2009: 8:52

Ich hab’s mal ausprobiert. Wenn ich Prototype einfach einbinde, funktioniert das Skript immer noch. Ich kann dir so nicht helfen, höchstens wenn du mal ein Beispiel zeigst.

10. Comment von: Andreas
20. June 2009: 23:58

Hallo Struppi,

so ganz konnte ich das nicht lösen, ich nutze jetzt für mein AJAX aber jquery und damit geht es irgendwie auch ;-)

11. Pingback von: BB Code Buttons [Javascript ist Toll!]
22. September 2009: 11:35

[…] hatte in der Vergangenheit ja schon einmal ein Skript vorgestellt, mit dessen Hilfe es möglich ist BB-Code in eine Textarea einzufügen. Um es einsetzen […]

12. Comment von: Jan-Hendrik
18. August 2010: 12:44

Moin,

ich hatte das gleiche Problem.
Da in Prototype es wohl auch eine funktion gibt, die insert() heißt, muss man die funktion einfach nur umbenennen für dieses Beispiel.

Danach müsste alles normal funktionieren!

Mfg

Leave a comment

Name (required)
Mail (wird nicht angezeigt) (required)
Website

Folgende HTML Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>



Powered by WordPress Stop Spam Harvesters, Join Project Honey Pot kostenloser Counter Browser-Statistiken
rats-wonderful
rats-wonderful
rats-wonderful
rats-wonderful