Hallo und Hilfe.
Ich habe ein Problem das anscheinend noch keiner im Internet angesprochen zu schein hat. Und zwar geht es um Fogendes.
Ich möchte in einer Textarea HTML Code darstellen lassen.
Ich arbeite an einem CMS Tool das es dem User ermöglichen soll die Schrift nach seinen Wünschen zu formatieren. Das klapt auch schon ganz gut, nur fügt er mir in die Textarea halt die entsprechenden Tags ein und erzeugt so für den User ein Code Chaos das er nicht durchblicken kann.
Erbitte schnelstmögliche Hilfe da ich schon sehr lange an dem Problem drannsitze.
Hier der Code:
<script type="text/javascript">
<!--
function insert(aTag, eTag) {
var input = document.forms['formular'].elements['content'];
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);
}
}
//-->
</script>
<script language="javascript">
function closeWindow()
{
self.close();
}
</script>
<input type="image" alt="Fett" src="images/icons/bold.gif" onClick="insert('<b>', '</b>')">
<textarea class="textarea" id="textarea" name="content">
<%=strNew%></textarea>
0-9 ↩︎