Und zwar wie wäre es wenn Du das folgende Skript in das Forum einbaust,
damit werden Emoticons, Textformatierungen nicht immer nur ans Ende des
Textes gesetzt sondern an die aktuelle Position des Curors.
Auch kann man z.B. eine Textpassage markieren, und dann z.B. kursiv
wählen, was dazu führt, dass die gesamte markierte Passage ausgezeichnet
wird.
Naja ich poste einfach mal die skripte:
Die Javaskriptdatei (skript2.js)
und hier wie man es (auf die krude Art) einbinden kann:
Vielleicht ist das mal ne Idee
Edit: die Buttons im Code sind NICHT beabsichtigt das macht das forum.
Wenn man den eintrag bearbeitet kann man es ohne rauskopieren.
Gruß der Deffel
damit werden Emoticons, Textformatierungen nicht immer nur ans Ende des
Textes gesetzt sondern an die aktuelle Position des Curors.
Auch kann man z.B. eine Textpassage markieren, und dann z.B. kursiv
wählen, was dazu führt, dass die gesamte markierte Passage ausgezeichnet
wird.
Naja ich poste einfach mal die skripte:
Die Javaskriptdatei (skript2.js)
Code:
// document.getElementById für Internet Explorer 4 definieren.
if (typeof(document.getElementById) == "undefined")
document.getElementById = function (id)
{
// Index-rückgabe.
return document.all[id];
}
// Cursorposition merken
function storeCaret(text)
{
if (typeof(text.createTextRange) != 'undefined')
text.caretPos = document.selection.createRange().duplicate();
}
// umgibt die Auswahl des Formfeldes mit text1 u text2 (Buttons für Textareas).
function surroundText(text1, text2, textarea)
{
// text range?
if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
{
var caretPos = textarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text1 + caretPos.text + text2 + ' ' : text1 + caretPos.text + text2;
caretPos.select();
}
// Mozilla text range wrap.
else if (typeof(textarea.selectionStart) != "undefined")
{
var begin = textarea.value.substr(0, textarea.selectionStart);
var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
var end = textarea.value.substr(textarea.selectionEnd);
textarea.value = begin + text1 + selection + text2 + end;
if (textarea.setSelectionRange)
{
var newCursorPos = textarea.selectionEnd + text1.length + text2.length;
textarea.focus();
textarea.setSelectionRange(newCursorPos, newCursorPos);
}
}
else
{
textarea.value += text1 + text2;
textarea.focus(textarea.value.length - 1);
}
}
und hier wie man es (auf die krude Art) einbinden kann:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script language="JavaScript" type="text/javascript" src="script2.js"></script>
<title>Post reply</title>
</head>
<body>
<form action="http://localhost/root/simple/index.php?action=post2;start=0;board=1" method="post" name="postmodify" onsubmit="submitonce(this);" enctype="multipart/form-data" style="margin: 10;">
<table border="0" width="100%" align="center" cellspacing="1" cellpadding="3">
<tr><td>
<input type="button" value="fett">
<input type="button" value="kursiv">
<input type="button" value="unterstrichen">
<input type="button" value="s">
</td></tr>
<tr><td>
<textarea class="editor" name="message" rows="12" cols="60" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);"></textarea>
</td></tr>
</table>
</form>
</body>
</html>
Vielleicht ist das mal ne Idee
Edit: die Buttons im Code sind NICHT beabsichtigt das macht das forum.
Wenn man den eintrag bearbeitet kann man es ohne rauskopieren.
Gruß der Deffel