---
title: "Minst 3 ikrysade"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/139268-minst-3-ikrysade"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Thompa__85"
published: "2005-12-13T23:30:53.000Z"
updated: "2005-12-16T08:49:35.000Z"
replies: 4
views: 548
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/139268-minst-3-ikrysade"
---

# Minst 3 ikrysade

## #1 — Thompa__85, 2005-12-13T23:30Z

Hejsan Wf!

Är lite nybörjare på javascript så får inte riktigt till min kontroll av checkboxs! Målet är att det finns 8 checkboxar med olika namn på sidan, Minst 3 av dessa måste vara ikryssade.

Har börjat fixa på en kod som vägrar fungera, inget händer när jag kör det.

i head:

```
<script language="javascript">
function formvalidation()
{           
var e=o.document,
	i=e.length,
	ch=false;

	while(i-->0)
	{
		if(e[i].type=="checkbox" && e[i].checked)
		{
			ch=true;
			break;
		}
	}

	if(!ch)
	{
		alert("Minst tre av \"checkboxarna\" måste vara ikryssad");
		return false;
	}
}
</script>
```

Och i själva formen ser ut så här:

```
<form action="?do=hobby" name="hobbys" method="post" onSubmit="return formvalidation();">

<table border="0" width="304" id="hobbyss">
	<tr>
		<td width="116"><b>Sport &amp; Fritid</b></td>
		<td width="20"><input type="checkbox" name="C1" value="1"></td>
		<td>&nbsp;</td>
		<td width="96"><b>Film &amp; teater</b></td>
		<td width="20"><input type="checkbox" name="C5" value="1"></td>
	</tr>
	<tr>
		<td width="116"><b>Elektronik</b></td>
		<td width="20"><input type="checkbox" name="C2" value="1"></td>
		<td>&nbsp;</td>
		<td width="96"><b>Datorer &amp; IT</b></td>
		<td width="20"><input type="checkbox" name="C6" value="1"></td>
	</tr>
	<tr>
		<td width="116"><b>Nöjesliv &amp; Mode</b></td>
		<td width="20"><input type="checkbox" name="C3" value="1"></td>
		<td>&nbsp;</td>
		<td width="96"><b>Böcker</b></td>
		<td width="20"><input type="checkbox" name="C7" value="1"></td>
	</tr>
	<tr>
		<td width="116"><b>Musik</b></td>
		<td width="20"><input type="checkbox" name="C4" value="1"></td>
		<td>&nbsp;</td>
		<td width="96"><b>Friluftsliv</b></td>
		<td width="20"><input type="checkbox" name="C8" value="1"></td>
	</tr>
</table>

<p><b>Student?</b> <input type="checkbox" name="student" value="1">
<font size="2"><i>(Lämna tomt om du ej är student)<br>
<br>
</i><font size="3">
<input type="submit" value="Gå vidare" name="submit" style="font-weight: 700"></font></font><br>
</form>
```

Hur ska jag lösa detta? Tack på förhand!

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

## #2 — jawbreaker, 2005-12-14T06:53Z

```
function formvalidation( f )
{
	var e = f.elements,
	len = e.length,
	cnt = 0;

	for ( var i = 0; i < len; i++ )
	{
		if ( e[i].type == "checkbox" && e[i].checked )
		{
			cnt++;
		}
	}

	if ( cnt < 3 )
	{
		alert( "Minst tre av \"checkboxarna\" måste vara ikryssade" );
		return false;
	}

	return true;
}
```

och

```
<form action="?do=hobby" name="hobbys" method="post" onSubmit="return formvalidation(this);">
```

bör fungera..?

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

## #3 — UrMe, 2005-12-15T15:57Z

Hur skulle koden se om man har t.ex 15 kryssrutor, och man får kryssa i högst 5?
Den borde kolla om fler än 5 är ikryssad varje gång man klickar i en ny checkruta.. går det att göra?

Sorry om jag tog över tråden ;)

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

## #4 — Peter S, 2005-12-15T16:43Z

Följande utgår från att regeln gäller samtliga checkboxar i ett formulär:

```
// Maximalt antal samtidigt ikryssade rutor
var numAllowed = 5;

var numChecked = 0;

window.onload = function(){
  // Byt 'f' mot namnet på ditt formulär
  var elms = document.forms["f"].elements,
      i    = elms.length;

  while (i--){
    if (elms[i].type == "checkbox"){
      elms[i].onclick = function(){
	if (!this.checked){
	  --numChecked;
	} else {
	  if (numChecked == numAllowed){
	    alert("...");
	    this.checked = false;
	  } else {
	    ++numChecked;
	  }
	}
      }
    }
  }
}
```

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

## #5 — UrMe, 2005-12-16T08:49Z

Fungerar klockrent! Tackar!

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/139268-minst-3-ikrysade
