---
title: "Infoga text före och efter"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/133364-infoga-text-före-och-efter/page2"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "learn"
published: "2005-08-27T11:06:21.000Z"
updated: "2005-12-15T17:50:40.000Z"
replies: 26
views: 785
page: 2
pages: 2
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/133364-infoga-text-före-och-efter"
---

# Infoga text före och efter

_Sida 2 av 2._

## #21 — learn, 2005-11-25T14:59Z

å, sorry såg inte den.. Ska kika på det! tack

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

## #22 — learn, 2005-11-25T15:03Z

Hmm, nej det funkar inte.. händer inget i textarean när jag klickar på länkarna...

/red: Jo, jag klantade mig bara.. Tack!!

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

## #23 — Peter S, 2005-11-25T15:07Z

**Red./** Du hann visst svara.  :bire

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

## #24 — learn, 2005-12-09T13:16Z

Har nu upptäckt att det inte fungerar på IE... Så här ser koden ut:

```
var cPos,
    fObj,
    ieC = Boolean(document.selection && document.selection.createRange);

function makeHTML(b, a) {
    if (ieC && cPos && cPos.text.length > 0){
	cPos.text = b + cPos.text + a;
    } else if (window.HTMLTextAreaElement && fObj.selectionEnd - fObj.selectionStart > 0){
	fObj.value = fObj.value.substring(0, fObj.selectionStart)
			+ b
			+ fObj.value.substring(fObj.selectionStart, fObj.selectionEnd)
			+ a
			+ fObj.value.substring(fObj.selectionEnd);
    }
}

function insdlgtxt(adress,lank){
    if (ieC){
		if (typeof cPos != "undefined"){
			cPos.text = lank;
		} else {
			fObj.value += lank;
		}

    } else if (typeof window.HTMLTextAreaElement != "undefined"){

		if ((lank==null)||(lank=="")) {
			lank = adress;
		}

		fObj.value = fObj.value.substring(0, fObj.selectionStart) + "[L='" + adress + "']" + lank + "[/L]" + fObj.value.substring(fObj.selectionEnd);

    } else {
		fObj.value += lank;
    }
}

function sC() {
    cPos = document.selection.createRange().duplicate();
}

function opendlg(){
    var adress = window.prompt("Mata in adressen", "http://");
    var lank = window.prompt("Mata in länktexten (valfritt)", "");

    if (adress != null && adress.replace(/(^\s+)|(\s+$)/g, "").length > 0) {
	insdlgtxt(adress,lank);
    }
}

window.onload = function() {
    fObj = document.forms["page_form"].elements["txt"];

    if (ieC) {
	fObj.onclick  = function() { sC(); }
	fObj.onkeyup  = function() { sC(); }
	fObj.onselect = function() { sC(); }
    }
}
```

 
Det som inte fungerar i IE är "infoga länk". När jag matat in adress+länknamn så skrivs endast länknamnet ut i textarean, inte det som ska vara före och efter...!

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

## #25 — learn, 2005-12-15T16:21Z

Ingen som kan hjälpa mig med ovanstående problem?? Tack på förhand!

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

## #26 — Peter S, 2005-12-15T16:35Z

```
<script type="text/javascript">

var cPos,
    fObj,
    ieC = Boolean(document.selection && document.selection.createRange);

function instag(b, a) {
    if (ieC && cPos && cPos.text.length > 0){
	cPos.text = b + cPos.text + a;
    } else if (window.HTMLTextAreaElement && fObj.selectionEnd - fObj.selectionStart > 0){
	fObj.value = fObj.value.substring(0, fObj.selectionStart)
			+ b
			+ fObj.value.substring(fObj.selectionStart, fObj.selectionEnd)
			+ a
			+ fObj.value.substring(fObj.selectionEnd);
    }
}

function insdlgtxt(adr, lnk){
    if (!lnk){ lnk = adr }

    if (ieC){
	if (typeof cPos != "undefined"){
	    cPos.text = "[L=" + adr + "]" + lnk + "[/L]";
	} else {
	    fObj.value += "[L=" + adr + "]" + lnk + "[/L]";
	}
    } else if (typeof window.HTMLTextAreaElement != "undefined"){
	fObj.value = fObj.value.substring(0, fObj.selectionStart) + "[L=" + adr + "]" + lnk + "[/L]" + fObj.value.substring(fObj.selectionEnd);
    } else {
	fObj.value += "[L=" + adr + "]" + lnk + "[/L]";
    }
}

function sC() {
    cPos = document.selection.createRange().duplicate();
}

function opendlg(){
    var adress = window.prompt("Mata in en text", "");
    var lank   = window.prompt("Mata in länktexten (valfritt)", "");

    if (adress != null && adress.replace(/(^\s+)|(\s+$)/g, "").length > 0){
	insdlgtxt(adress, lank);
    }
}

window.onload = function() {
    fObj = document.forms["vbform"].elements["message"];

    if (ieC) {
	fObj.onclick  = function() { sC(); }
	fObj.onkeyup  = function() { sC(); }
	fObj.onselect = function() { sC(); }
    }
}

</script>

<a href="#" onclick="instag('<strong>','</strong>'); return false;">strong</a>

<form name="vbform">
	<textarea cols="20" rows="5" name="message"></textarea>
</form>

<a href="javascript:void(opendlg())">dlg</a>
```

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

## #27 — learn, 2005-12-15T17:50Z

Tack, ska testa när jag kommer hem.

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/133364-infoga-text-före-och-efter/page2  
Föregående sida: https://www.webforum.nu/amne/javascript/133364-infoga-text-före-och-efter.md
