---
title: "Skicka med id på div-tagg som ska uppdateras"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/190203-skicka-med-id-på-div-tagg-som-ska-uppdateras"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Hulth"
published: "2012-08-06T06:00:14.000Z"
updated: "2012-08-06T06:33:53.000Z"
replies: 4
views: 611
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/190203-skicka-med-id-på-div-tagg-som-ska-uppdateras"
---

# Skicka med id på div-tagg som ska uppdateras

## #1 — Hulth, 2012-08-06T06:00Z

Tjo!

Såhär ser min nuvarande kod ut, och den funkar, men jag vill kunna skicka med ytterliggare en parameter i sndReq för att ange vilken div-id som utdatan ska skrivas till.

**Anropas med: sndReq('hej.asp?foo=bar')**

```
function createRequestObject() {
	var ro;
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
		ro = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
			ro = new XMLHttpRequest();
	}
	return ro;
}

var http = createRequestObject();

function sndReq(theURL) {
	document.getElementById('ajax_response').innerHTML = "<div align='center'><img src='ajax-loader.gif'><br>Hämtar data...</div>"
	http.open('get', theURL);
	http.send(null);
	http.onreadystatechange = handleResponse;
}

function handleResponse() {
	if(http.readyState == 4 && http.status==200) {
		document.getElementById('ajax_response').innerHTML = http.responseText;
	}
}
```

Jag tänkte ju att det här blir enkelt att fixa, är ju bara att skicka med en variabel till, right? Nej, följande kod "fastnar" på readystate 1 :(

(Diff mot ovanstående kod med fetstil)

**Anropas med: sndReq('hej.asp?foo=bar','ajax_response')**

```
function createRequestObject() {
	var ro;
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
		ro = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
			ro = new XMLHttpRequest();
	}
	return ro;
}

var http = createRequestObject();

function sndReq(theURL[B],theDiv[/B]) {
	document.getElementById([B]theDiv[/B]).innerHTML = "<div align='center'><img src='ajax-loader.gif'><br>Hämtar data...</div>"
	http.open('get', theURL);
	http.send(null);
	http.onreadystatechange = handleResponse[B](theDiv)[/B];
}

function handleResponse([B]theDiv[/B]) {
	if(http.readyState == 4 && http.status==200) {
		document.getElementById([B]theDiv[/B]).innerHTML = http.responseText;
	}
}
```

Jag har en svag känsla om att det är något löjligt enkelt jag missat, så det här öppna målet bjuder jag på ;)

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

## #2 — voigtann1, 2012-08-06T06:15Z

```
	http.onreadystatechange = function() {
		handleResponse(theDiv);
	}
```

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

## #3 — Hulth, 2012-08-06T06:24Z

> **[Hulth skrev:](https://www.webforum.nu/p/1553155)**
>
> Jag har en svag känsla om att det är något löjligt enkelt jag missat

Tack! Funkar klockrent :birp

För förståelsens skull, varför behöver man ange att det är en funktion som anropas, borde tyckas att det känns givet i och med att man skickar med variablar till den?

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

## #4 — voigtann1, 2012-08-06T06:30Z

alla event du binder skall du binda funktioner till, men när du skriver:

```
http.onreadystatechange = handleResponse(theDiv);
```

så kommer handeResponse köras direkt så fort JS läser in all JS kod, vilket du inte vill du vill att funktionen skall köras när eventet readystatechange triggas.

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

## #5 — Hulth, 2012-08-06T06:33Z

Aha :)

Då har man lärt sig något nytt denna dagen också, tack igen :)

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/190203-skicka-med-id-på-div-tagg-som-ska-uppdateras
