Avatar billede Tony Juniormester
27. august 2002 - 09:45 Der er 13 kommentarer og
1 løsning

Validering af checkboxe ??

Jeg har en lille formular, hvor bruger kan vælge farver.

Jeg vil gerne om der bliver valideret for om der er valgt en farve - hvis ikke promptes bruger med: "Husk at vælge farve"

Hvordan ser det ud ??

***
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title>Vælg farve</title>
<script type="text/JavaScript">
function checkBoxes (form, check) {
  for (var c = 0; c < form.elements.length; c++)
    if (form.elements[c].type == 'checkbox')
      form.elements[c].checked = check;
}
</script>
</head>

<body>
<form action="" method="post" name="Farver" id="Farver" onsubmit="">
  <table width="323" border="0" align="center" cellpadding="3" cellspacing="0">
    <tbody>
      <tr>
        <td height="35" colspan="4" align="center" valign="middle">Bestilling af farver</td>
      </tr>
      <tr>
        <td colspan="4"> <hr align="center" noshade></td>
      </tr>
      <tr>
        <td colspan="4"><p align="center"><strong>Vælg farve</strong></p></td>
      </tr>
      <tr>
        <td width="124">Blå:</td>
        <td width="157"><input type="checkbox" name="Blå"></td>
        <td width="115">Rød:</td>
        <td width="155"><input type="checkbox" name="Rød"></td>
      </tr>
      <tr>
        <td width="124">Gul:</td>
        <td width="157"><input type="checkbox" name="Gul"></td>
        <td width="115">Alle:</td>
        <td width="155"><input type="checkbox" name="Alle" onClick="checkBoxes(this.form, this.checked);"></td>
      </tr>
      <tr>
        <td colspan="4"><div align="center">
            <hr align="center" noshade>
          </div></td>
      </tr>

      <tr align="center">
        <td height="35" colspan="4">
            <input name="Sendknap" type="submit" value="Send anmodning">
          <a href="../images/spacer.gif"></a>
          <input type="reset" name="Reset" value="Fortryd bestilling">
        </td>
      </tr>
    </tbody>
  </table>
</form>
</body>
</html>
Avatar billede pelkjaer Nybegynder
27. august 2002 - 09:56 #1
if ((document.dinform.dincheckbox[0].checked ==true) ||  (document.dinform.dincheckbox[1].checked ==true)) {
} else {
alert("Husk at vælge farve");
}
Avatar billede Tony Juniormester
27. august 2002 - 10:01 #2
Hmm - den siger: "document.dinform.dincheckbox er null eller ikke et objekt"

Det er nok noget med nogle navne, jeg skal have smidt ind ??
Avatar billede pelkjaer Nybegynder
27. august 2002 - 10:03 #3
fx

document.farver.blå

Havde ikke lige set du havde flere checkboxe, vent lige 5 min.

nb: Jeg ved ikke om du burde rename til blaa og roed istedet for blå og rød ?
Avatar billede pelkjaer Nybegynder
27. august 2002 - 10:05 #4
Næ, det burde virke sådan der

if ((document.farver.blå[0].checked ==true) ||  (document.farver.blå[1].checked ==true)) {
} else {
alert("Husk at vælge farve");
}

if ((document.farver.rød[0].checked ==true) ||  (document.farver.rød[1].checked ==true)) {
} else {
alert("Husk at vælge farve");
}

osv.
Avatar billede pelkjaer Nybegynder
27. august 2002 - 10:05 #5
Nej nu vrøvler jeg. Vent et par min :)
Avatar billede Tony Juniormester
27. august 2002 - 10:07 #6
pelkjaer >> Helt i orden med navnene - her er de blot eksempler, men fint du nævner det, det kan jo være, at der er andre, der ikke er opmærksom på det ... :)

Blokken med checkbokse er blot en lille del af et meget større dokument - i virkeligheden med nogle halt andre engelske navne ...
Avatar billede Tony Juniormester
27. august 2002 - 10:08 #7
Burde det ikke være noget a la: document.Farver.checkbox ... altså:

"dette dokument >> den pågældende form >> gruppens navn ??
Avatar billede pelkjaer Nybegynder
27. august 2002 - 10:10 #8
jo, det er det jo også med blå som name i en af dem, men den der dur ikke med flere checkboxe (tror jeg)
Avatar billede Tony Juniormester
27. august 2002 - 10:12 #9
Tjoo, men det er måske ikke om der er klikket i denne eller hin box, men om der er klikket i gruppen ... altså et niveau højere ???
Avatar billede pelkjaer Nybegynder
27. august 2002 - 10:22 #10
prøv dette

<html>
<head>
<title></title>
<script type="text/javascript">               
function saveColors(arrayOfCheckboxes) {
    var shouldReturn = false;
    for(var i = 0; i < arrayOfCheckboxes.length; i++) {
        shouldReturn = shouldReturn || arrayOfCheckboxes[i].checked;
    }
    return shouldReturn;
}

function saveColors(arrayOfCheckboxes) {
    if(arrayOfCheckboxes[0].checked == false
        && arrayOfCheckboxes[1].checked == false
        && arrayOfCheckboxes[2].checked == false) {
        return false;
    }
    return true;
}

function saveColors(arrayOfCheckboxes) {
    return arrayOfCheckboxes[0].checked || arrayOfCheckboxes[1].checked || arrayOfCheckboxes[2].checked;
}
</script>
</head>
<body>

<form name="farver" method="post" action=""
onsubmit="if(!saveColors(colors)) {alert('Hust at vælge farve');return false; }else {return true;}">
Vælg en farve <br>
<input type="checkbox" name="colors" value="blaa">
<input type="checkbox" name="colors" value="roed">
<input type="checkbox" name="colors" value="gul">
<input type="submit" value="Send">
</form>

</body>
</html>
Avatar billede pelkjaer Nybegynder
27. august 2002 - 10:23 #11
Der bliver så lavet et array alt efter hvad vælges
fx
colors[0]
colors[1]
osv.
Avatar billede Tony Juniormester
27. august 2002 - 10:26 #12
Fjing fjong - lige i øjet ... thx mate ... :)

***
smid lige et svar ;)
Avatar billede pelkjaer Nybegynder
27. august 2002 - 10:27 #13
oki :)
Avatar billede Tony Juniormester
27. august 2002 - 10:29 #14
;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester