B
blizz-faad
Guten Abend Community,
da ich mich nur sehr gering mit JavaScript auskenne wollte ich mal folgendes fragen:
Ich benutze bei mir, um BB-Code einzufügen, den Script von Selfhtml (Formulare: Text an Cursorposition einfügen). Wie kann ich diesen denn erweitern, damit wenn ein User zB auf den BB-Button "Link" klickt erst ein Eingabefeld erscheind in dem er den URL eingeben muss (ähnlich wie hier im Forum)?
Danke vielmals
da ich mich nur sehr gering mit JavaScript auskenne wollte ich mal folgendes fragen:
Ich benutze bei mir, um BB-Code einzufügen, den Script von Selfhtml (Formulare: Text an Cursorposition einfügen). Wie kann ich diesen denn erweitern, damit wenn ein User zB auf den BB-Button "Link" klickt erst ein Eingabefeld erscheind in dem er den URL eingeben muss (ähnlich wie hier im Forum)?
Danke vielmals
Code:
<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>
PHP:
<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>
Zuletzt bearbeitet von einem Moderator: