Hallo !!
Habe gerade folgendes Script gefunden, was aber nur zur hälfte läuft!!
Mit diesem Script ist es möglich Text einem Textfeld zu markieren und dann per Link z.B den markierten Text mir eine <B></B> Tag zu umschliessen!! Klappt auch soweit, nur leider nicht im Netscape 6. Ich habe die Stelle markiert an der es hapert. Hier werden Dinge benuzt die ich nicht kenne und nirgendwo finden kann. Vielleicht ihr das Problem ja!!
Schonmal Danke!!
<html>
<head>
<script type="text/javascript">
<!--
function bbcode(v)
{
if (document.selection) // für IE
{
var str = document.selection.createRange().text;
document.form_name.textarea_name.focus();
var sel = document.selection.createRange();
sel.text = "[" + v + "]" + str + "[/" + v + "]";
return;
}
else if (document.getElementById && !document.all) // für Mozilla
{
var txtarea = document.forms['form_name'].elements['textarea_name'];
=====================================================
====================HIER SITZT DER FEHLER================
=====================================================
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
=====================================================
=Die Variblen setLength etc. werden nicht definiert, kein Ahnung warum==
=====================================================
if (selEnd == 1 || selEnd == 2)
selEnd = selLength;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + '[' + v + ']' + s2 + '[/' + v + ']' + s3;
return;
}
else input('[' + v + '][/' + v + '] ');
}
function input(what)
{
if (document.form_name.textarea_name.createTextRange)
{
document.form_name.textarea_name.focus();
document.selection.createRange().duplicate().text = what;
}
else if (document.getElementById && !document.all) // Mozilla
{
var tarea = document.forms['form_name'].elements['textarea_name'];
var selEnd = tarea.selectionEnd;
var txtLen = tarea.value.length;
var txtbefore = tarea.value.substring(0,selEnd);
var txtafter = tarea.value.substring(selEnd, txtLen);
tarea.value = txtbefore + what + txtafter;
}
else
{
document.entryform.text.value += what;
}
}
//-->
</script>
<title>Textarea-Test</title>
</head>
<body>
<h1>Einfügen von BB-Code und Smilies mit JavaScript</h1>
<p>Funktionoert mit Netscape/Mozilla und IE. Hier werden die BB-Codes um
markierten Text eingefügt und die Smilies an der Curserposition. Mit anderen
Browsern werden die Befehle am Ende eingefügt.</p>
<form name="form_name" action="" method="">
BB-Code:
[ <a href="java script:bbcode('b');">fett</a> ]
[ <a href="java script:bbcode('i');">kursiv</a> ]
[ <a href="java script:bbcode('url');">URL</a> ]
[ <a href="java script:bbcode('img');">Bild</a> ]
Smilies:
[ <a href="java script:input(':-) ');">smile</a> ]
[ <a href="java script:input(';-) ');">wink</a> ]
[ <a href="java script:input(':-( ');">frown</a> ]<br>
<textarea rows="20" cols="80" name="textarea_name"></textarea><br>
<input type="reset">
</form>
</body>
</html>
Habe gerade folgendes Script gefunden, was aber nur zur hälfte läuft!!
Mit diesem Script ist es möglich Text einem Textfeld zu markieren und dann per Link z.B den markierten Text mir eine <B></B> Tag zu umschliessen!! Klappt auch soweit, nur leider nicht im Netscape 6. Ich habe die Stelle markiert an der es hapert. Hier werden Dinge benuzt die ich nicht kenne und nirgendwo finden kann. Vielleicht ihr das Problem ja!!
Schonmal Danke!!
<html>
<head>
<script type="text/javascript">
<!--
function bbcode(v)
{
if (document.selection) // für IE
{
var str = document.selection.createRange().text;
document.form_name.textarea_name.focus();
var sel = document.selection.createRange();
sel.text = "[" + v + "]" + str + "[/" + v + "]";
return;
}
else if (document.getElementById && !document.all) // für Mozilla
{
var txtarea = document.forms['form_name'].elements['textarea_name'];
=====================================================
====================HIER SITZT DER FEHLER================
=====================================================
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
=====================================================
=Die Variblen setLength etc. werden nicht definiert, kein Ahnung warum==
=====================================================
if (selEnd == 1 || selEnd == 2)
selEnd = selLength;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + '[' + v + ']' + s2 + '[/' + v + ']' + s3;
return;
}
else input('[' + v + '][/' + v + '] ');
}
function input(what)
{
if (document.form_name.textarea_name.createTextRange)
{
document.form_name.textarea_name.focus();
document.selection.createRange().duplicate().text = what;
}
else if (document.getElementById && !document.all) // Mozilla
{
var tarea = document.forms['form_name'].elements['textarea_name'];
var selEnd = tarea.selectionEnd;
var txtLen = tarea.value.length;
var txtbefore = tarea.value.substring(0,selEnd);
var txtafter = tarea.value.substring(selEnd, txtLen);
tarea.value = txtbefore + what + txtafter;
}
else
{
document.entryform.text.value += what;
}
}
//-->
</script>
<title>Textarea-Test</title>
</head>
<body>
<h1>Einfügen von BB-Code und Smilies mit JavaScript</h1>
<p>Funktionoert mit Netscape/Mozilla und IE. Hier werden die BB-Codes um
markierten Text eingefügt und die Smilies an der Curserposition. Mit anderen
Browsern werden die Befehle am Ende eingefügt.</p>
<form name="form_name" action="" method="">
BB-Code:
[ <a href="java script:bbcode('b');">fett</a> ]
[ <a href="java script:bbcode('i');">kursiv</a> ]
[ <a href="java script:bbcode('url');">URL</a> ]
[ <a href="java script:bbcode('img');">Bild</a> ]
Smilies:
[ <a href="java script:input(':-) ');">smile</a> ]
[ <a href="java script:input(';-) ');">wink</a> ]
[ <a href="java script:input(':-( ');">frown</a> ]<br>
<textarea rows="20" cols="80" name="textarea_name"></textarea><br>
<input type="reset">
</form>
</body>
</html>
Kommentar