ZeroEnna
Erfahrenes Mitglied
Kann mir jemand diesen Quellcode erklären?
Hi,
Ich weiss es ist ein bisschen viel verlangt, aber kann mir mal jemand diesen Quellcode im Detail erklären (sprich, Befehl für Befehl).
Der Code selbst ist von selfHTML, aber die dortige Beschreibung hat mir irgendwie nicht weitergeholfen.
Ich will den Code für mein Gästebuch verwenden, aber ich verwende ungern Codes die ich nicht im Detail verstehe und da ich ein völliger Neuling bin in Sache JavaScript, wollte ich eben nun fragen ob mir einer von euch den Code erklären kann (natürlich nur den JavaScript Teil):-(
Danke schon mal im Vorraus
mfg
ZeroEnna
Hi,
Ich weiss es ist ein bisschen viel verlangt, aber kann mir mal jemand diesen Quellcode im Detail erklären (sprich, Befehl für Befehl).
Der Code selbst ist von selfHTML, aber die dortige Beschreibung hat mir irgendwie nicht weitergeholfen.
Ich will den Code für mein Gästebuch verwenden, aber ich verwende ungern Codes die ich nicht im Detail verstehe und da ich ein völliger Neuling bin in Sache JavaScript, wollte ich eben nun fragen ob mir einer von euch den Code erklären kann (natürlich nur den JavaScript Teil):-(
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Einfügen von Inhalten in eine Textarea</title>
<script type="text/javascript">
<!--
function insert(aTag, eTag) {
var input = document.forms['formular'].elements['eingabe'];
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('^[0-9]{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>
</head>
<body>
<h1>Demo: Einfügen von Inhalten in eine Textarea</h1>
<p>Positionieren Sie einfach den Cursor innerhalb der textarea oder markieren Sie Text darin.
Wählen Sie dann "Einfügen", um <code>[link]...[/link]</code> an dieser Stelle
einfügen zu lassen, sofern es der Browser ermöglicht.</p>
<form name="formular" action="">
<p><textarea name="eingabe" cols="30" rows="10">Ihre Nachricht</textarea></p>
<p><input type="button" value="Einfügen" onClick="insert('[link]', '[/link]')"></p>
</form>
</body>
</html>
Danke schon mal im Vorraus
mfg
ZeroEnna
Zuletzt bearbeitet: