---
title: "Komplettera fält automatiskt"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/173009-komplettera-fält-automatiskt"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "JAreMANNEN"
published: "2008-07-28T14:06:25.000Z"
updated: "2008-07-30T09:35:54.000Z"
replies: 1
views: 512
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/173009-komplettera-fält-automatiskt"
---

# Komplettera fält automatiskt

## #1 — JAreMANNEN, 2008-07-28T14:06Z

Hej,

Har en funktion i javascript jag skulle behöva lite hjälp med.

Har byggt ett webbaserat gränssnitt där man anger olika mått på ett plagg.
För att förenkla och snabba upp processen så finns det önskemål om att när 
man angivit mått på de två minsta storlekarna så ska resterande fyllas in per automatik. 
Värdet som skall fyllas i per automatik skall vara  enligt följande formel: 
*värde = (diff mellan två första fälten) + (föregående fält)*.
Första raden som bilden visar skulle då vara ***värde = 4 + 24***
Förslagsvis så görs uträkningen när man lämnar fält2.

Som i fallet på bilden så skulle måtten för Large och X-Large se ut enligt följande:
28 \| 32
54 \| 56
33 \| 34
48 \| 50

Varje uträkning ska ju ske för respektive rad, så det är där jag funderar på hur man ska loopa igenom det hela.

Det blev lite krångligt förklarat kanske :)

Tack på förhand!

Bilagor:

- [tmp.gif](https://www.webforum.nu/a/18725.gif)

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

## #2 — JAreMANNEN, 2008-07-30T09:35Z

Tjahapp..löste det såhär iaf...

```
function calcSizeValues(str) {
	var error = false;
	var formName = "sizetable";
	var antal_falt = 0;
	var arrValues = new Array();
	for(i=0; i<document.getElementById(formName).elements.length; i++){
		var fldName = document.getElementById(formName).elements[i ].name;
		if(fldName.indexOf(str) == 0) {
			arrValues[antal_falt] = fldName;
			antal_falt = antal_falt + 1;
		}
	}
	
	var falt1 = "";
	var falt2 = "";
	for (i=0;i<arrValues.length;i++) {
		if(i==0) {
			falt1 = parseInt(document.getElementById(arrValues[i ]).value);
		} else if(i==1) {
			falt2 = parseInt(document.getElementById(arrValues[i ]).value);
		} else {
			var diff = (falt2 - falt1);
			if(!isNaN(falt1) && !isNaN(falt2)) {
				document.getElementById(arrValues[i ]).value = parseInt(document.getElementById(arrValues[i-1]).value) + diff;
			} else {
				error = true
			}
		}
	}
	if(error) {
		alert("Måste ange heltal.");
	}
}
```

Sen om det är en osmart lösning vet jag inte :p Huvudsaken är att den fungerar efter önskemål.

Fältnummer 2 på varje rad har:

```
 onkey[B]down[/B]="if(event.keyCode == 9) { calcSizeValues('[I]fältets_namn[/I]'); }
```

EDIT: Fick ändra "onkeypress" till "onkeydown" då IE inte triggades på TAB  med onkeypress.

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/173009-komplettera-fält-automatiskt
