---
title: "Markörens position i textarea"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/178557-markörens-position-i-textarea"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "M@rtin"
published: "2009-05-15T16:22:07.000Z"
updated: "2009-05-28T21:20:43.000Z"
replies: 3
views: 647
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/178557-markörens-position-i-textarea"
---

# Markörens position i textarea

## #1 — M@rtin, 2009-05-15T16:22Z

Hur får man fram markörens position i en textarea?

Med alla webbläsare utom Internet Explorer är det såklart enkelt:

```
textarea.selectionStart
```

Men i IE är det inte lika enkelt. Det här måste vara ett jättevanligt problem men google ger bara felaktiga svar. Finns lösningar som fungerar i en vanlig textruta men de funkar inte i en textarea.

Någon som vet?

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

## #2 — Mog, 2009-05-15T22:04Z

Nåt sånt här du är ute efter?

```
function insertAtCursor(myField, txt)
{
             // IE
	if (document.selection && document.selection.createRange) {
		// Hämta markering i rutan
		myField.focus();
		sel = document.selection.createRange();
                         // Om nåt är markerat
		if (sel.text.length != 0) {
			var str = sel.text;
		}
		else {
			var str = txt;
		}

		sel.text = str;
	}
	else if (document.getSelection) {

		var allTxt = myField;
		var beginTxt = allTxt.value.substring(0, allTxt.selectionStart);
		var endTxt = allTxt.value.substring(allTxt.selectionEnd, allTxt.value.length);
		var selTxt = allTxt.value.substring(allTxt.selectionStart, allTxt.selectionEnd);
		if (selTxt.length != 0) {
			var str = selTxt;
		}
		else {
			var str = txt;
		}

		myField.value = beginTxt + str + endTxt;
	}
	else {
		myField.value = myField.value + txt;
	}
}
```

Anropa med

```
onClick="insertAtCursor(document.getElementById('myField'),'textSomSkaInVidMarkören');"
```

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

## #3 — M@rtin, 2009-05-17T11:52Z

Njae inte riktigt, men nu har jag löst det:

```
function getCaretPos(obj){
	if(obj.selectionStart){
		return obj.selectionStart;
	}else if(document.selection && document.selection.createRange){
		obj.focus();
		var sel = document.selection.createRange();
		var dup = sel.duplicate();
		var c = "\001";
		sel.text=c;
		dup.moveToElementText(obj);
		var pos = dup.text.indexOf(c);
		sel.moveStart('character',-1);
		sel.text="";
		return pos;
	}else{
		return -1;
	}
}
```

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

## #4 — johaseo, 2009-05-28T21:20Z

aha ... problemet är löst? Perfekt .. markera gärna att denna tråd har en lösning ... ha det gott!

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/178557-markörens-position-i-textarea
