Har ett problem, jag använder följande kod:
function addText(strText) {
document.formMail.fldMessage.value = document.formMail.fldMessage.value + strText;
}
För att lägga till en viss text. Men problemet är den hamnar sist, vilket är självklart om man kollar på koden. Finns det någon annan funktion/sätt som gör att texten hamnar där markören befinner sig?
Lägga till text i Textarea där markören befinner sig
1 svar · 1 080 visningar · startad av iLife
En wF-anpassad lösning:
<script type="text/javascript">
var cPos,
fObj,
ieC = Boolean(document.selection && document.selection.createRange);
function smilie(str) {
if (ieC) {
if (typeof cPos != "undefined")
cPos.text = str;
else
fObj.value = str;
}
else if (typeof window.HTMLTextAreaElement != "undefined")
fObj.value = fObj.value.substring(0, fObj.selectionStart) + str + fObj.value.substring(fObj.selectionEnd);
else fObj.value += str;
}
function sC() {
cPos = document.selection.createRange().duplicate();
}
window.onload = function() {
fObj = document.forms["vbform"].elements["message"];
if (ieC) {
fObj.onclick = function() { sC(); }
fObj.onkeyup = function() { sC(); }
fObj.onselect = function() { sC(); }
}
}
</script>
<a href="#" onclick="smilie(':)'); return false;">smilie</a>
<form name="vbform">
<textarea cols="20" rows="5" name="message"></textarea>
</form>
:)