openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 5a0bb9ce1f2bf6de7bcf0b55b3e294e19026e618
parent 95a166b85b7c7f5df5bf2e222a8d0ac8e3530527
Author: dankert <devnull@localhost>
Date:   Thu, 27 Jan 2005 01:06:22 +0100

Javaskript-Funktionen fuer Editor

Diffstat:
themes/default/js/editor.js | 57+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+), 0 deletions(-)

diff --git a/themes/default/js/editor.js b/themes/default/js/editor.js @@ -0,0 +1,57 @@ + +// Quelle: +// http://aktuell.de.selfhtml.org/tippstricks/javascript/bbcode/ +function insert(tagName, aTag, eTag) +{ + var input = document.forms[0].elements[tagName]; + input.focus(); + /* IE */ + if(typeof document.selection != 'undefined') { + /* Einfuegen des Formatierungscodes */ + var range = document.selection.createRange(); + var insText = range.text; + range.text = aTag + insText + eTag; + /* Anpassen der Cursorposition */ + 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(); + } + /* Gecko */ + else if(typeof input.selectionStart != 'undefined') + { + /* Einfuegen des Formatierungscodes */ + var start = input.selectionStart; + var end = input.selectionEnd; + var insText = input.value.substring(start, end); + input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end); + /* Anpassen der Cursorposition */ + 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; + } + /* uebrige Browser */ + else + { + /* Abfrage der Einfuegeposition */ + var pos; + var re = new RegExp('^[0-9]{0,3}$'); + while(!re.test(pos)) { + pos = prompt("Position (0.." + input.value.length + "):", "0"); + } + if(pos > input.value.length) { + pos = input.value.length; + } + /* Einfuegen des Formatierungscodes */ + var insText = prompt("Text:"); + input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos); + } +}