Moin!
- Die Variable AktivArea nimmt auf, welche der Textareas zuletzt den Fokus hatte (wird mit onfocus gesetzt). Das ist wichtig, falls es mehrere gibt (Deine Formulierung lässt mich das vermuten)
- Das Einfügen des Codes wird onclick gestartet (das return false verhindert, dass das Forumlar gesendet wird)
- Den Einbau des BB-Codes hätte ich, bis auf das return false, auch als Einzeiler formulieren können.
<html>
<head>
<title>Einfügen von bb-Code in mehrere Textareas</title>
<script type="text/javascript">
var AktivArea;
function bb_insert(bb) {
var bb_start = '[' + bb + ']';
var bb_end = '[/' + bb + ']';
var tStart = AktivArea.selectionStart;
var tEnd = AktivArea.selectionEnd;
var insText = AktivArea.value.substring(tStart, tEnd);
var newText = AktivArea.value.substr(0, tStart) + bb_end + insText + bb_start + AktivArea.value.substr(tEnd);
AktivArea.value = newText;
AktivArea.focus();
return false;
}
</script>
</head>
<body>
<h1>Demo: Einfügen von bb-Code in meherere Textareas</h1>
<form name="formular" action="">
<button onclick="return bb_insert('b');">bold</button><button onclick="return bb_insert('i')">italic</button></b><br>
<textarea id="a1" onfocus="AktivArea=this;"></textarea><br>
<textarea id="a2" onfocus="AktivArea=this;"></textarea>
</form>
</body>
</html>
Jörg Reinholz