---
title: "problem med validerings funktion"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/177018-problem-med-validerings-funktion"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "firstchoice"
published: "2009-02-19T07:27:19.000Z"
updated: "2009-02-20T10:31:43.000Z"
replies: 8
views: 359
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/177018-problem-med-validerings-funktion"
---

# problem med validerings funktion

## #1 — firstchoice, 2009-02-19T07:27Z

Något är fel i koden nedan.
första gången funkar det fint
Andra gången så går den in i en loop och kommer inte ur...
Tanken är att varje gång du lägger till ett värde i en select box skall funktionen först gå igenom det som redan är inlagt för att se till att inga dubbletter sparas.

```
function addOption(optText,optValue,frm_name,lstBox_name)
	{	
	if (document.frm.date.value != '') {
	var Box = document.frm.Select1;
	var i = 0;
	var test = true;
	while(i<Box.options.length)
		{
		if (Box.options[i].value = optValue)
		test = false;
		else
		i++;
		}
		if (test = true) {
		var newOption = new Option(optText,optValue);
		var Box = document.forms[frm_name].elements[lstBox_name];
		Box.options[Box.options.length] = newOption; }
		else {
		alert('fel'); }
		}
	else {
	alert('You have to select a date!');}
	}
```

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

## #2 — Peter S, 2009-02-19T07:35Z

Börja med att i denna

```
 if (Box.options[i].value = optValue)
```

...ändra så att du testar för lika med (==) i stället för att utföra en tilldelning.

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

## #3 — voigtann1, 2009-02-19T07:43Z

```
function addOption(optText,optValue,frm_name,lstBox_name) {	
	if (document.frm.date.value != '') {
		var Box = document.frm.Select1;
		var i = 0;
		var test = true;
		while(i<Box.options.length) {
			if (Box.options[i].value = optValue) {test = false; break;}
			i++;
		}
		if (test) {
			var newOption = new Option(optText,optValue);
			var Box = document.forms[frm_name].elements[lstBox_name];
			Box.options[Box.options.length] = newOption;
		}
		else {
			alert('fel');
		}
	else {
		alert('You have to select a date!');
	}
}
```

Lite ändringar, if frågan skall ha == och inte =,
sen om den hittar värdet så hoppar vi ur while med break;

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

## #4 — firstchoice, 2009-02-20T07:21Z

får syntaxfel på en rad när jag laddar sidan
kan det fattas en "}" ?

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

## #5 — Peter S, 2009-02-20T07:36Z

Ja, det saknas en } innan den sista "else". Har du ändrat = till == i samtliga if-satser?

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

## #6 — firstchoice, 2009-02-20T09:35Z

> **[Peter S skrev:](https://www.webforum.nu/p/1457302)**
>
> Ja, det saknas en } innan den sista "else". Har du ändrat = till == i samtliga if-satser?

har fixat, men nu funkar inget =(

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

## #7 — voigtann1, 2009-02-20T09:49Z

Kan man få lite HTML kod så man kan testa ?

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

## #8 — firstchoice, 2009-02-20T09:57Z

```
<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<script type="text/javascript">
function addOption(optText,optValue,frm_name,lstBox_name) {	
	if (document.frm.date.value != '') {
		var Box = document.frm.Select1;
		var i = 0;
		var test = true;
		while(1<Box.options.length) {
			if (Box.options[i].value == optValue) {test = false; break;}
			i++;
		}
		if (test) {
			var newOption = new Option(optText,optValue);
			var Box = document.forms[frm_name].elements[lstBox_name];
			Box.options[Box.options.length] == newOption;
		}
		else {
			alert('fel');
		} 
		}
	else {
		alert('You have to select a date!');
	}
}
   			
   			function validateForm()
			{
					
				if (document.frm.Select1.options[0] != null){
					var Box = document.frm.Select1;
					var i = 0;
					while(i<Box.options.length)
					{
						Box.options[i].selected = true;
						i++;
					}
					return true;										 
				}
				else {
					alert('You have to Add a Date!');
					return false;
				}
			}		
		</script>
	</head>
	
	<body>
	    
	<form action="test.asp" method="post" name="frm" onSubmit="return validateForm()">
	
		<table style="width: 500" border="0">
			<tr>
				<td class="style1" valign="top" style="width: 210px"><span lang="sv">Date: </span> <input type="text" name="date" /></td>
				<td class="style1" valign="top" style="width: 81px"><span lang="sv"> 
				<button name="fsdsdf" onClick="addOption(document.frm.date.value,document.frm.date.value,'frm','Select1');">Add -&gt;</button> <br />
				<br />
				<button name="Submit4" onclick="RemoveOption('frm','Select1');">
<- Remove</button> </span></td>
				<td style="width: 390px">
				<select name="Select1" style="width: 265px" size="5" multiple="multiple">
			</select></td>
			</tr>
			<tr>
				<td style="width: 210px">&nbsp;</td>
				<td style="width: 81px">
				<input name="Submit1" type="submit" value="Next" /></td>
				<td style="width: 390px">
				&nbsp;</td>
			</tr>
		</table>
	
</form>
			
    </body>
</html>
```

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

## #9 — voigtann1, 2009-02-20T10:31Z

```
function addOption(optText,optValue,frm_name,lstBox_name)
{	
	if (document.frm.date.value != '')
	{
		var Box = document.frm.Select1;
		var i = 0;
		var test = true;
		while(i<Box.options.length)
		{
			if (Box.options[i].value == optValue) {test = false; break;}
			i++;
		}
		if (test)
		{
			var newOption = new Option(optText,optValue);
			var Box = document.forms[frm_name].elements[lstBox_name];
			Box.options[Box.options.length] = newOption;
		}
		else
		{
			alert('fel');
		} 
	}
	else
	{
		alert('You have to select a date!');
	}
	return false;
}
```

och på onclick:

```
return addOption(document.frm.date.value,document.frm.date.value,'frm','Select1')
```

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/177018-problem-med-validerings-funktion
