---
title: "radio-problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/121225-radio-problem"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "soocks"
published: "2005-01-28T11:01:02.000Z"
updated: "2005-01-28T20:48:59.000Z"
replies: 2
views: 266
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/121225-radio-problem"
---

# radio-problem

## #1 — soocks, 2005-01-28T11:01Z

hej. har ett litet problem med min funktion för formulärkontroll. har sökt efter svar, men inte hittat något.

```
function checkit(type) {
	
	
	if(type == "cart") {
				
		if(document.forms[0].costumertype.value != "business") {
		
			if (document.forms[0].name.value == "") {
				alert("Ange förnamn.");
				document.forms[0].name.focus();
				return false;
			 }
					  
			if (document.forms[0].surname.value == "") {
				alert("Ange efternummer.");
				document.forms[0].surname.focus();
				return false;
			 }	
			 
		} else {
		
			if (document.forms[0].business.value == "") {
				alert("Ange företag.");
				document.forms[0].business.focus();
				return false;
			 }	
		 
		}
		
		if (document.forms[0].street.value == "") {
			alert("Ange gatuadress.");
			document.forms[0].street.focus();
			return false;
		}	
		
		if (document.forms[0].zipcode.value == "") {
			alert("Ange postnummer.");
			document.forms[0].zipcode.focus();
			return false;
		}	
		
		if (document.forms[0].city.value == "") {
			alert("Ange postort.");
			document.forms[0].city.focus();
			return false;
		 }		  	
		 
		 if (document.forms[0].phone.value == "") {
			alert("Ange telefonnummer.");
			document.forms[0].phone.focus();
			return false;
		 }		
		  if (document.forms[0].email.value == "") {
			alert("Ange korrekt e-post.");
			document.forms[0].email.focus();
			return false;
		 }	
		 
		 
		if (document.forms[0].email.value.length > 0) {
			if ((document.forms[0].email.value.length < 5) || (document.forms[0].email.value.indexOf("'", 0) > -1) || (document.forms[0].email.value.indexOf('"', 0) > -1) || (document.forms[0].email.value.indexOf('.', 0) == -1) || (document.forms[0].email.value.indexOf('@', 0) == -1) || (document.forms[0].email.value.indexOf(" ") > 0)) {
				alert("Ange korrekt e-post.");
				document.forms[0].email.focus();
				return false;
			}
	  	}
		
		[B]
		var stuff = document.forms[0].elements.length;		
		var checked = 0;
		for(var i = 0; i <= stuff; ++i) {			
			if(document.forms[0].elements[i].type == "radio" && document.forms[0].elements[i].checked) {				
				checked++;					
			} 
		}	
		
		if(checked == 0) {
			alert("Välj leverans.");
			return false;
		}		
		
		
[/B]

	} else if(type == "dealer") {

		// inget här ännu	
	
	}
	
	
	return true;	
	
}
```

 

gör funktionen för två olika formulär, men har bara kodat för det första ännu.. (vet att email-kontrollen är aningens osmidig, en alternativ lösning är på g ;)

det är den sista biten som krånglar. scriptet tar ut antalet element i formuläret och kollar vilka radio-knappar som är markerade och sparar detta i **checked**. är denna noll när alla element är kollade ska ett felmeddelande komma upp.. vilket det inte gör.

scriptet verkar hoppa över if-satsen som kollar om checked == 0 och slutför submittandet av formuläret. 

jag är ingen mästare i javascript, så jag kanske har missat något fatalt vad gäller retrun true/false.. 

tack på förhand!

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

## #2 — jawbreaker, 2005-01-28T14:01Z

Din for-loop borde stega ut utanför sista indexet, så du får nog javascriptfel precis innan alerten.

Testa följande:

```
for ( var i = 0; i < stuff; i++ )
```

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

## #3 — soocks, 2005-01-28T20:48Z

se där, visste att det var något enkelt :) tackar och bockar!

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/121225-radio-problem
