InferisMedlem sedan sep. 2000670 inlägg Hur får man denna koden att lägga smileyn i början på textarea om det redan finns något skrivet där? Klickar man nu så hamnar smileyn allra längst ner.
<a href="#" onClick="document.mess.Meddelande.value+='[glad]'; return false;">
<img src="smileys/smile.gif" alt="Glad smilie" border="0"></a>
PeeerMedlem sedan mars 20025 907 inlägg Re: Först i textarea, inte sist.
<a href="#" onClick="document.mess.Meddelande.value ='[glad]' + document.mess.Meddelande.value; return false;">
<img src="smileys/smile.gif" alt="Glad smilie" border="0"></a>
Finns säkert smartare sätt, men det här bör fungera iaf.
InferisMedlem sedan sep. 2000670 inlägg Följdfråga..
Om man redan har börjat skriva i fältet så läggs smileyn allra först.
Hur gör man för att lägga den precis där markören är?
Peter SMedlem sedan dec. 20025 483 inlägg <script type="text/javascript">
var cPos,
fObj,
ieC = Boolean(document.selection && document.selection.createRange);
function smilie(str) {
if (ieC && typeof cPos != "undefined") cPos.text = 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["mess"].elements["Meddelande"];
if (ieC) {
fObj.onclick = function() { sC(); }
fObj.onkeyup = function() { sC(); }
fObj.onselect = function() { sC(); }
}
}
</script>
<a href="#" onclick="smilie('[glad]'); return false;">
<img src="smileys/smile.gif" alt="Glad smilie" border="0"></a>
:)
InferisMedlem sedan sep. 2000670 inlägg Jag undrar förresten... Måste javascriptkod ligga mellan head-taggarna?
Peter SMedlem sedan dec. 20025 483 inlägg Nej. Men eftersom koden läses in top-down måste den ligga efter de refererade objekten i skriptet (om det över huvud taget finns sådana referenser d.v.s).
Exempel 1:
<head>
</head>
...
<script type="application/x-javascript">
alert( document.forms["f"] );
</script>
<form name="f"></form>
Exempel 2:
<head>
</head>
...
<form name="f"></form>
<script type="application/x-javascript">
alert( document.forms["f"] );
</script>
:)
InferisMedlem sedan sep. 2000670 inlägg Sorry, fattade inte riktigt det där..
Men tack ska du ha! Ditt script fungerade.
Man kan inte ha två "slutgiltiga" svar nu märkte jag... ;-)
znyderMedlem sedan dec. 2002172 inlägg När jag testade Peter S kod så får jag detta felmeddelande:
'fObj' is null or not an object
Denna rad:
else fObj.value += str;
Varför?
GuffaMedlem sedan juni 2004533 inlägg Variabeln fObj har inget värdet. Använder du onload till något annat?