solbulleMedlem sedan mars 20015 287 inlägg Jag har denna kod som klistrar in "html/forum"-taggar i en textarea.
Nu har jag det så fiffigt att jag har två eller tre textareor på sidan så jag skulle vilja göra det lite dynamiskt, att koden klistras in i den textarea man står i. (Där markören är.)
Lite heta tips?
function format(format) {
if (document.PostTopic.artikel.createTextRange && document.PostTopic.artikel.caretPos) {
var caretPos = document.PostTopic.artikel.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? format + ' ' : format;
document.PostTopic.artikel.focus();
} else {
document.PostTopic.artikel.value+=format;
document.PostTopic.artikel.focus();
}
}
</SCRIPT>
<a href="Javascript:format('[i] [/i]')" tabindex="-1"><img src="images/icon_editor_italicize.gif" width="22" height="22" alt="italic" border="0">
Jesper TMedlem sedan nov. 20017 144 inlägg Kanske så här:
<html>
<head>
<script language="JavaScript">
<!--
function varEjag() {
minPos = document.selection.createRange();
}
function klistrain(objektet){
minPos.text = objektet;
}
//-->
</script>
</head>
<body >
<a href="javascript:;" onclick="klistrain(':-)');">:-)</a> <a href="javascript:;" onclick="klistrain(';-)');">;-)</a>
<a href="javascript:;" onclick="klistrain(':-o');"> :-o</a> <a href="javascript:;" onclick="klistrain(':-(');">:-(</a><br>
<form name="" method="post" action="">
<textarea name="artikel1" onclick="varEjag();"></textarea>
<textarea name="artikel2" onclick="varEjag();"></textarea>
<textarea name="artikel3" onclick="varEjag();"></textarea>
</form>
</body>
</html>
JojoxxMedlem sedan juni 20004 308 inlägg Finslipar lite.
<script language="JavaScript">
<!--
var minPos=false;
document.onkeydown=function(){
minPos = document.selection.createRange();
}
function varEjag() {
minPos = document.selection.createRange();
}
function klistrain(objektet){
if(minPos){ minPos.text += objektet }
}
//-->
</script>
Först definierar vi variabeln minPos och detekterar din i klistrain så att vi inte får scriptfel om man försöker att klistra in innan vi valt en textarea. Sedan detekterar vi knapptryckningar så man kan stoppa in smilie'n mitt i en text man redigerar. Tyvärr detekteras inte piltangenterna <- och -> av onkeydown. Glöm ej += istället för = i klistrain.
solbulleMedlem sedan mars 20015 287 inlägg Ännu mer lysande.
Jag fick, för den första versionen i alla fall, ändra så att funktionen "varEjag" kallades både vid onchang samt vid onclick annars fungerade det inte alltid.
Ska testa denna uppdaterade version.
PalleMedlem sedan apr. 20003 174 inlägg Oh! Nice one!
Har letat efter en liknande funktion. :birp