---
title: "Lägga till/Ta bort fält"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/156328-lägga-till-ta-bort-fält"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "stevenet"
published: "2007-01-23T09:52:24.000Z"
updated: "2007-01-23T14:18:31.000Z"
replies: 4
views: 468
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/156328-lägga-till-ta-bort-fält"
---

# Lägga till/Ta bort fält

## #1 — stevenet, 2007-01-23T09:52Z

Hej! Jag vill lägga till/ta bort fält med hjälp av "Lägg till" och "Ta bort". Det ska dock inte gå att ha färre än 2 fält eller mer än 10. Hur göra?

```
<table>
<div id="fields">
	<tr>
		<td width=200 height=30><b>Svarsalternativ 1:</b></td><td><input type="TEXT" name="alternative[]" value="" class="ruta" size=50></td>
	</tr>
	<tr>
		<td width=200 height=30><b>Svarsalternativ 2:</b></td><td><input type="TEXT" name="alternative[]" value="" class="ruta" size=50></td>
	</tr>
</div>
</table><br>

<a href="">Lägg till</a> <a href="">Ta bort</a>
```

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

## #2 — jawbreaker, 2007-01-23T12:59Z

```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="se" lang="se">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Lägg till och ta bort fält</title>

<script type="text/javascript">
//<![CDATA[
function addField()
{
	var t = document.getElementById("fields");

	var nRows = t.rows.length;

	if (nRows >= 10)
		return;

	var textField = document.createElement("input");
	textField.type = "text";
	textField.name = "alternative[]";
	textField.className = "ruta";
	textField.size = "50";

	var r = t.insertRow(nRows);
	var c = r.insertCell(0);
	c.width = 200;
	c.height = 30;
	c.innerHTML = "<b>Svarsalternativ " + (nRows + 1) + ":</b>";

	c = r.insertCell(1);
	c.appendChild(textField);
}

function deleteField()
{
	var t = document.getElementById("fields");

	var nRows = t.rows.length;

	if (nRows <= 2)
		return;

	t.deleteRow(nRows - 1);
}
//]]>
</script>
</head>

<body>

<table id="fields">
<tr>
	<td width="200" height="30"><b>Svarsalternativ 1:</b></td>
	<td><input type="text" name="alternative[]" value="" class="ruta" size="50" /></td>
</tr>
<tr>
	<td width="200" height="30"><b>Svarsalternativ 2:</b></td>
	<td><input type="text" name="alternative[]" value="" class="ruta" size="50" /></td>
</tr>
</table>
<br />

<a href="javascript:addField();">Lägg till</a> <a href="javascript:deleteField();">Ta bort</a>

</body>
</html>
```

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

## #3 — stevenet, 2007-01-23T14:04Z

Lysande, tack! Kom dock på att jag vill utöka det hela ett steg till. Varje svarsalternativ ska ha en poängruta med, förövrigt är det samma som gäller. Max 10 fält, minimum två. 

```
<tr>
<td width=200 height=30><b>Svarsalternativ 1:</b></td><td><input type="TEXT" name="alternative[]" value="" class="ruta" size=50></td><td width=100><b>Poäng</b></td><td><input type="TEXT" name="points[]" value="" class="ruta" size=50></td>
</t>
```

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

## #4 — jawbreaker, 2007-01-23T14:16Z

Då får du lägga till det i tabellen, samt ändra funktionen addField()

```
function addField()
{
	var t = document.getElementById("fields");

	var nRows = t.rows.length;

	if (nRows >= 10)
		return;

	var textField = document.createElement("input");
	textField.type = "text";
	textField.name = "alternative[]";
	textField.className = "ruta";
	textField.size = "50";

	var pointsField = document.createElement("input");
	pointsField.type = "text";
	pointsField.name = "points[]";
	pointsField.className = "ruta";
	pointsField.size = "50";

	var r = t.insertRow(nRows);
	var c = r.insertCell(0);
	c.width = 200;
	c.height = 30;
	c.innerHTML = "<b>Svarsalternativ " + (nRows + 1) + ":</b>";

	c = r.insertCell(1);
	c.appendChild(textField);

	c = r.insertCell(2);
	c.width = 100;
	c.innerHTML = "<b>Poäng:</b>";

	c = r.insertCell(3);
	c.appendChild(pointsField);
}
```

...och sen får du inte komma på mer funktionalitet ;-)

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

## #5 — stevenet, 2007-01-23T14:18Z

Ja, nu får det vara nog. ;)

Tusen tack!

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/156328-lägga-till-ta-bort-fält
