Hallo,
ich habe mich jetzt stundenlang durchs Netz gequält und alle Dinge zu diesem Thema durchgelesen. Trotzdem bin ich nicht fündig geworden, da diese insertAtCaret-Funktion zwar oft verwendet wird, jedoch nirgends in dieser Art, wie ich sie verwenden möchte (!) dokumentiert ist...
So in etwa sieht das nun aus:
Der zugehörige JS-Code:
Der String "test" wird immer nur an den Text hinten angehängt. Deshalb denke ich, dass die Abfrage
if(document.form.beitrag.createTextRange && document.form.beitrag.caretPos)
immer false ist... aber warum??
Über Hilfe bin ich SEHR dankbar.
Viele Grüße.
ich habe mich jetzt stundenlang durchs Netz gequält und alle Dinge zu diesem Thema durchgelesen. Trotzdem bin ich nicht fündig geworden, da diese insertAtCaret-Funktion zwar oft verwendet wird, jedoch nirgends in dieser Art, wie ich sie verwenden möchte (!) dokumentiert ist...
So in etwa sieht das nun aus:
PHP-Code:
echo("<form name='form'>");
echo("<a href=\"javascript:insertAtCaret('test');\">eintragen</a>");
echo("<textarea name='beitrag' onselect='storeCaret(this);' onclick='storeCaret(this);' onkeyup='storeCaret(this);'></textarea>");
echo("</form>");
PHP-Code:
function storeCaret(text) {
if(document.form.beitrag.createTextRange) document.form.beitrag.caretPos = document.selection.createRange().duplicate();
}
function insertAtCaret(text) {
if(document.form.beitrag.createTextRange && document.form.beitrag.caretPos) {
var caretPos = document.form.beitrag.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
}
else
{
document.form.beitrag.value = document.form.beitrag.value + text;
}
}
if(document.form.beitrag.createTextRange && document.form.beitrag.caretPos)
immer false ist... aber warum??
Über Hilfe bin ich SEHR dankbar.
Viele Grüße.
Kommentar