---
title: "Checkbox problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/70678-checkbox-problem"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Cantona"
published: "2003-03-10T21:30:59.000Z"
updated: "2004-06-24T11:05:58.000Z"
replies: 9
views: 498
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/70678-checkbox-problem"
---

# Checkbox problem

## #1 — Cantona, 2003-03-10T21:30Z

Nu behöver jag eran hjälp.
Låt säga att jag har 3 st checkboxar, jag skulle vilja kunna välja en eller flera boxar. När jag sedan skickar urlen så vill jag att strängen skall se ut på följande sätt:
poup.asp?val=1,2
Om jag nu har checkat checkbox 1 samt 2.

Alla små tips är välkommna så jag har någonting att börja med.
Självklart så vill jag kunna avmarkera checkboxarna.
Jag vill även att sidan inte laddas om när jag skickar iväg värdet.
\<FORM NAME="FOO"\>
\<input type="checkbox" NAME="1"\>
\<input type="checkbox" NAME="2"\>
\<input type="checkbox" NAME="3"\>
\<input type="button" value="Öppna popup" OnClick="?"\>
\</FORM\>

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

## #2 — Cantona, 2003-03-10T21:50Z

skickade till en dold iframe som tarhand om strängen så här

\<%
strVAL = ""
For each item in request.form
If request.form(item) = "on" then
	strVAL = strVAL & ","& item
end if
next
	ANTAL = LEN(strVAL) - 1
	strVAL = right(strVAL,ANTAL)

%\>

\<script language=javascript\>
window.open('sida.asp?PROMPT=\<%=strVAL%\>','openit','width="500",height="500"')
\</script\>

inte snyggt men vad gör man :-)

Har ni några bättre tips så hör av er.

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

## #3 — @nders, 2003-03-11T04:58Z

Om du ger checkboxarna samma namn, blir resultatet en kommaseparerad värdelista.

```
<input type="checkbox" name="whatever" value="1"> 
<input type="checkbox" name="whatever" value="2"> 
<input type="checkbox" name="whatever" value="3">
```

Mvh

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

## #4 — Cantona, 2003-03-12T07:41Z

whatever=1&whatever=2&whatever=3&whatever=4

@anders, är denna  kommaseparerad :-)

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

## #5 — Gustav, 2004-01-15T16:10Z

Kan man kontrollera att minst en av kryssrutorna är ikryssade om man använder den här koden i ett vanligt formmail?

Så här:

```
<input TYPE="checkbox" NAME="Kursinriktning" VALUE="Buss">
<input TYPE="checkbox" NAME="Kursinriktning" VALUE="Gods">
<input TYPE="checkbox" NAME="Kursinriktning" VALUE="Taxi">
```

När jag klickar på "SKICKA" så vill jag att det ska komma upp en Alert-ruta som säger att man måste klicka i minst en av rutorna. 

Hur gör man det?

Tack på förhand!

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

## #6 — nitro2k01, 2004-01-15T17:11Z

Lösning till Gustav's problem:

```
 
<script>

function checkCheckboxes(){
  var els = document.forms["foo"].elements, checkCounter = 0;

  for (i=0;i<els.length;i++){
    if(els[i].name == "bar"){
      if (els[i].checked)
        checkCounter ++;
    }
  }
  if (checkCounter > 0)
    return true;
  else{
    alert("Kryssa för åtminstone en av rutorna i gruppen bar.");
    return false;
  }
}

</script>

<form name="foo" onsubmit="return checkCheckboxes();">
Testgrupp:
<input TYPE="checkbox" NAME="test" VALUE="bar1">
<br />
Bar:
<input TYPE="checkbox" NAME="bar" VALUE="bar1">
<input TYPE="checkbox" NAME="bar" VALUE="bar2">
<input TYPE="checkbox" NAME="bar" VALUE="bar3">
<br />
<input TYPE="submit">
</form>
```

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

## #7 — nitro2k01, 2004-01-15T17:27Z

Med lite justeringar löste jag även cantonas problem. Elementet val innehåller en kommaformaterad lista med val.

```
 
<script>

function checkCheckboxes(){
  var els = document.forms["foo"].elements, checkCounter = 0;
  var checkoptions = new Array();
  for (i=0;i<els.length;i++){
    if(els[i].name == "bar"){
      if (els[i].checked)
      checkoptions[checkoptions.length] = els[i].value;
    }
  }
  els["val"].value = checkoptions.join(",");
  if (checkoptions.join(",").length > 0)
    return true;
  else{
    alert("Kryssa för åtminstone en av rutorna i gruppen bar.");
    return false;
  }
}

</script>

<form name="foo" onsubmit="return checkCheckboxes();">
Testgrupp:
<input TYPE="checkbox" NAME="test" VALUE="bar1">
<br />
Bar:
<input TYPE="checkbox" NAME="bar" VALUE="1">
<input TYPE="checkbox" NAME="bar" VALUE="2">
<input TYPE="checkbox" NAME="bar" VALUE="3">

<input TYPE="hidden" NAME="val" VALUE="">
<br />
<input TYPE="submit">
</form>
```

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

## #8 — Gustav, 2004-01-15T18:32Z

Tack så mycket!
Det funkar precis som jag vill.

Tack igen!

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

## #9 — JAreMANNEN, 2004-06-24T08:21Z

> **nitro2k01 skrev:**
>
> Lösning till Gustav's problem:
>
>
> ```
>  
> <script>
> 
> function checkCheckboxes(){
>   var els = document.forms["foo"].elements, checkCounter = 0;
> 
>   for (i=0;i<els.length;i++){
>     if(els[i].name == "bar"){
>       if (els[i].checked)
>         checkCounter ++;
>     }
>   }
>   if (checkCounter > 0)
>     return true;
>   else{
>     alert("Kryssa för åtminstone en av rutorna i gruppen bar.");
>     return false;
>   }
> }
> 
> </script>
> 
> <form name="foo" onsubmit="return checkCheckboxes();">
> Testgrupp:
> <input TYPE="checkbox" NAME="test" VALUE="bar1">
> <br />
> Bar:
> <input TYPE="checkbox" NAME="bar" VALUE="bar1">
> <input TYPE="checkbox" NAME="bar" VALUE="bar2">
> <input TYPE="checkbox" NAME="bar" VALUE="bar3">
> <br />
> <input TYPE="submit">
> </form>
> ```

Gammal tråd javisst, men behöver hjälp med liknande :)

Jag behöver exakt samma funktion fast mina checkboxar heter enligt följande:
pay_2004_06
pay_2004_07
pay_2004_08
pay_2004_09
osv..

Altså det är olika namn som ställer till det för mig...
Gemensamt är ju att alla checkboxar som ska kollas börjar på "pay\_"
Tack på förhand..

mvh :)

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

## #10 — SugarDaddy, 2004-06-24T11:05Z

Jag hade ett liknande problem för ett tag sedan och hittade den här lösningen som funkar fint f mig iaf (har tyvärr ingen länk t forumet jag hittade det på):

```
function validateRadios(f) {
if (!f) return;
var currEl, radArray, e = 0;
while (f.elements[e]) {
currEl = f.elements[e++];
if (currEl.type == 'radio' && currEl.name) {
radArray = f.elements[currEl.name];
for (var r=0; r<radArray.length; ++r) {
if (radArray[r].checked) break;
}
if (r == radArray.length) {
alert('Du har glömt svara på en eller flera frågor');
currEl.focus();
return false;
}
}
}
return true;
}
```

 
Och sen onSubmit="return validateRadios(this);" i form-taggen.

Om jag har förstått dig rätt så har du samma problem som jag hade med flera grupper av radioknappar där de har samma namn inom varje grupp(?)
/Edit - dum i huvudet, läste radio istället f checkbox, fint..  :OO

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

---

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