webForumDet fria alternativet

Först i textarea, inte sist.

10 svar · 272 visningar · startad av Inferis

InferisMedlem sedan sep. 2000670 inlägg
#1

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
#2

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
#3

FUnkade!
Tack så mycket!

InferisMedlem sedan sep. 2000670 inlägg
#4

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
#5
<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
#6

Tack! Ska testa.

InferisMedlem sedan sep. 2000670 inlägg
#7

Jag undrar förresten... Måste javascriptkod ligga mellan head-taggarna?

Peter SMedlem sedan dec. 20025 483 inlägg
#8

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
#9

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
#10

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
#11

Variabeln fObj har inget värdet. Använder du onload till något annat?

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)