---
title: "Först i textarea, inte sist."
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/100030-först-i-textarea-inte-sist"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Inferis"
published: "2004-03-21T20:22:13.000Z"
updated: "2005-04-25T23:13:15.000Z"
replies: 10
views: 283
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/100030-först-i-textarea-inte-sist"
---

# Först i textarea, inte sist.

## #1 — Inferis, 2004-03-21T20:22Z

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>
```

Permalänk: https://www.webforum.nu/p/100030

## #2 — Peeer, 2004-03-21T20:40Z

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.

Permalänk: https://www.webforum.nu/p/1304823

## #3 — Inferis, 2004-03-21T21:03Z

FUnkade!
Tack så mycket!

Permalänk: https://www.webforum.nu/p/1304837

## #4 — Inferis, 2004-03-24T20:50Z

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?

Permalänk: https://www.webforum.nu/p/1309334

## #5 — Peter S, 2004-03-25T09:31Z

```
<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>
```

 :)

Permalänk: https://www.webforum.nu/p/1309536

## #6 — Inferis, 2004-03-25T16:07Z

Tack! Ska testa.

Permalänk: https://www.webforum.nu/p/1309796

## #7 — Inferis, 2004-03-25T16:07Z

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

Permalänk: https://www.webforum.nu/p/1309799

## #8 — Peter S, 2004-03-25T16:24Z

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>
```

 :)

Permalänk: https://www.webforum.nu/p/1309802

## #9 — Inferis, 2004-03-25T16:29Z

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... ;-)

Permalänk: https://www.webforum.nu/p/1309803

## #10 — znyder, 2005-04-25T17:00Z

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?

Permalänk: https://www.webforum.nu/p/1599534

## #11 — Guffa, 2005-04-25T23:13Z

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

Permalänk: https://www.webforum.nu/p/1599671

---

Tråden på webben: https://www.webforum.nu/amne/javascript/100030-först-i-textarea-inte-sist
