---
title: "Kontroll av fält"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/88469-kontroll-av-fält"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "reka1"
published: "2003-10-14T14:04:01.000Z"
updated: "2003-10-14T14:45:27.000Z"
replies: 3
views: 342
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/88469-kontroll-av-fält"
---

# Kontroll av fält

## #1 — reka1, 2003-10-14T14:04Z

Hejs alla!
Håller på  med  ett litet valideringsskript som inte vill fungera som jag vill.
Det ska känna av så att det inte går att ange numren 7-18 i kombination med turistklass och
numren 1-6 i kombination med affärsklass.
Nu så generaras alltid det första felmeddelandet oavsett vilken kombination man anger :(

\<html\>
\<head\>
\<script language="JavaScript"\>
function validera()
{
if (document.reka.stol.value \>=1 \|\| document.reka.stol.value \<= 6 && document.reka.klass.value == "turist")
	{
	alert ("Du kan inte boka en stol (1-6) i denna klass!");
	return false;
	}

else if (document.reka.stol.value \>= 7 \|\| document.reka.stol.value \<= 18 && document.reka.klass.value == "affar")
	{
	alert ("Du kan inte boka en stol (7-18) i denna klass!");
	return false;
	}

else if (document.reka.stol.value \>=19)
	{
	alert ("Du angav för högs stolsnummer (1-18)!");
	return false;
	}
else
	{
	alert ("Din bokning har skickats iväg!");
	return true;
	}
}
\</script\>
\</head\>
\<body\>
\<form name="reka" onsubmit="return validera()"\>
\<input type="text" name="stol"\>\<br\>
    \<select name="klass"\>
      \<option value=""\>-- Välj klass --\</option\>
      \<option value="affar"\>Affärsklass\</option\>
      \<option value="turist"\>Turistklass\</option\>
    \</select\>
\<input type="submit"\>
\</form\>
\</body\>
\</html\>

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

## #2 — nitro2k01, 2003-10-14T14:29Z

Jag såg först inte felet, så jag skrev om hela koden så den blev lite snyggare(och innehåller mer validering). Men felet verkade vara att \|\| ska bytas ut mot &&. Som det var förut var fel nummer ifyllt när stolsnumret var större än 1 **eller** mindre än 6 (det vill säga alltid.)

Den nya koden innehåller fullständig validering (Måste fylla i, måste välja klass osv.)

```
<script language="JavaScript"> 
function validera() 
{ 

if (document.reka.stol.value.length == 0) { 
	alert ("Du måste fylla i stolsnummer."); 
	return false; 
} 

if (document.reka.stol.value >18 || document.reka.stol.value <1 ) { 
	alert ("Du angav för högt eller för lågt stolsnummer (1-18)!"); 
	return false; 
} 

switch(document.reka.klass.value){
	case ("turist"):
		if (document.reka.stol.value >=1 && document.reka.stol.value <= 6){
			alert ("Du kan inte boka en stol (1-6) i denna klass!"); 
			return false; 
		}
		break
	case ("affar"):
		if (document.reka.stol.value >= 7 && document.reka.stol.value <= 18){
			alert ("Du kan inte boka en stol (7-18) i denna klass!")
			return false; 
		}
		break
	default:{
			alert("Du måste välja klass!");
			return false;
		}
}

alert ("Din bokning har skickats iväg!"); 
return true; 
} 
</script>
```

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

## #3 — reka1, 2003-10-14T14:34Z

Suveränt :) Man tackar för ett snabbt och 'fungerande' svar =)

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

## #4 — nitro2k01, 2003-10-14T14:45Z

Det är så det ska vara på wF!  :)  :)  :)

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/88469-kontroll-av-fält
