Hallo zusammen,
ich hab folgendes Script hier aus dem Forum.
Es fügt per Aufruf einen Text an die Stelle in einer Textbox ein, an welcher gerade der Cursor steht:
function setsmile(aTag,eTag) {
var input = document.forms['posting'].elements['text'];
input.focus();
/* für Internet Explorer */
if(typeof document.selection != 'undefined') {
/* Einfügen 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();
}
/* für neuere auf Gecko basierende Browser */
else if(typeof input.selectionStart != 'undefined')
{
/* Einfügen 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;
}
/* für die übrigen Browser */
else
{
/* Abfrage der Einfügeposition */
var pos;
var re = new RegExp('[1]{0,3}$');
while(!re.test(pos)) {
pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length) {
pos = input.value.length;
}
/* Einfügen des Formatierungscodes */
var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
}
}
Folgeder Code ruft das Script auf:
<a href="javascript:setsmile('=)','')"><img src='../../grafiken/6_service/mailbox/smile01.gif' border="0"></a>
<a href="javascript:setsmile(':-((','')"><img src='../../grafiken/6_service/mailbox/smile02.gif' border="0"></a>
<a href="javascript:setsmile(';-(','')"><img src='../../grafiken/6_service/mailbox/smile03.gif' border="0"></a>
<a href="javascript:setsmile(':-))','')"><img src='../../grafiken/6_service/mailbox/smile04.gif' border="0"></a>
<a href="javascript:setsmile(':-()','')"><img src='../../grafiken/6_service/mailbox/smile05.gif' border="0"></a>
<a href="javascript:setsmile(':-#','')"><img src='../../grafiken/6_service/mailbox/smile06.gif' border="0"></a>
<a href="javascript:setsmile(';-)','')"><img src='../../grafiken/6_service/mailbox/smile07.gif' border="0"></a>
<a href="javascript:setsmile(':-(+)','')"><img src='../../grafiken/6_service/mailbox/smile08.gif' border="0"></a>
Manche Browser (alte Firefox?), auf jeden Fall nicht der neue IE und der neue Firefox, schicken zuzüglich zum Smilie Code noch: javascript:setsmile('=)','') mit den in den Text.
Habt Ihr eine Ahnung wie man das lösen kann?
1000 Dank
Marcus
0-9 ↩︎