Avatar billede danisher Nybegynder
15. oktober 2004 - 16:16 Der er 3 kommentarer og
1 løsning

Validering af buttons

Hej alle

Jeg har følgende tabel:
<table cellspacing="0" cellpadding="4" border="0" style="width:100%;border-collapse:collapse;">
                <tr>
                    <td nowrap="nowrap" style="background-color:#B0C8D6;font-weight:bold;">&nbsp</td><td nowrap="nowrap" align="Center" style="background-color:#B0C8D6;width:70px;">1. prioritet</td><td nowrap="nowrap" align="Center" style="background-color:#B0C8D6;width:70px;">2. prioritet</td><td nowrap="nowrap" align="Center" style="background-color:#B0C8D6;width:70px;">3. prioritet</td><td nowrap="nowrap" align="Center" style="background-color:#B0C8D6;width:70px;">4. prioritet</td>
                </tr><tr>
                    <td style="border-top:1px dashed #CCCCCC;">Kendskab til kundernes behov</td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl2" type="radio" name="s55k2" value="_ctl2_7" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl3" type="radio" name="s55k2" value="_ctl3_5" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl4" type="radio" name="s55k2" value="_ctl4_3" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl5" type="radio" name="s55k2" value="_ctl5_1" /></td>

                </tr><tr>
                    <td style="background-color:#EBEBFC;border-top:1px dashed #CCCCCC;">Social ansvarlighed</td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl6" type="radio" name="s55k3" value="_ctl6_7" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl7" type="radio" name="s55k3" value="_ctl7_5" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl8" type="radio" name="s55k3" value="_ctl8_3" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl9" type="radio" name="s55k3" value="_ctl9_1" /></td>
                </tr><tr>
                    <td style="border-top:1px dashed #CCCCCC;">Kvalitetsstyring</td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl10" type="radio" name="s55k4" value="_ctl10_7" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl11" type="radio" name="s55k4" value="_ctl11_5" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl12" type="radio" name="s55k4" value="_ctl12_3" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl13" type="radio" name="s55k4" value="_ctl13_1" /></td>
                </tr><tr>
                    <td style="background-color:#EBEBFC;border-top:1px dashed #CCCCCC;">Rekruttering af kvalificerede medarbejdere</td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl14" type="radio" name="s55k5" value="_ctl14_7" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl15" type="radio" name="s55k5" value="_ctl15_5" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl16" type="radio" name="s55k5" value="_ctl16_3" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl17" type="radio" name="s55k5" value="_ctl17_1" /></td>
                </tr><tr>

                    <td colspan="5">&nbsp</td>
                </tr><tr>
                    <td nowrap="nowrap" style="background-color:#B0C8D6;font-weight:bold;">&nbsp</td><td nowrap="nowrap" align="Center" style="background-color:#B0C8D6;width:70px;">1. prioritet</td><td nowrap="nowrap" align="Center" style="background-color:#B0C8D6;width:70px;">2. prioritet</td><td nowrap="nowrap" align="Center" style="background-color:#B0C8D6;width:70px;">3. prioritet</td><td nowrap="nowrap" align="Center" style="background-color:#B0C8D6;width:70px;">4. prioritet</td>
                </tr><tr>
                    <td style="border-top:1px dashed #CCCCCC;">Loyale kunder</td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl18" type="radio" name="s56k2" value="_ctl18_7" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl19" type="radio" name="s56k2" value="_ctl19_5" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl20" type="radio" name="s56k2" value="_ctl20_3" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl21" type="radio" name="s56k2" value="_ctl21_1" /></td>
                </tr><tr>

                    <td style="background-color:#EBEBFC;border-top:1px dashed #CCCCCC;">Nedbringe skader på miljøet</td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl22" type="radio" name="s56k3" value="_ctl22_7" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl23" type="radio" name="s56k3" value="_ctl23_5" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl24" type="radio" name="s56k3" value="_ctl24_3" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl25" type="radio" name="s56k3" value="_ctl25_1" /></td>
                </tr><tr>
                    <td style="border-top:1px dashed #CCCCCC;">Effektivt og fleksibelt produktionsapparat</td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl26" type="radio" name="s56k4" value="_ctl26_7" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl27" type="radio" name="s56k4" value="_ctl27_5" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl28" type="radio" name="s56k4" value="_ctl28_3" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl29" type="radio" name="s56k4" value="_ctl29_1" /></td>
                </tr><tr>
                    <td style="background-color:#EBEBFC;border-top:1px dashed #CCCCCC;">Udvikling af medarbejdernes kompetencer og know-how</td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl30" type="radio" name="s56k5" value="_ctl30_7" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl31" type="radio" name="s56k5" value="_ctl31_5" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl32" type="radio" name="s56k5" value="_ctl32_3" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl33" type="radio" name="s56k5" value="_ctl33_1" /></td>
                </tr>
            </table>


Tabellen er genereret dynamisk, og der kan komme flere eller færre "sæt" til, så valideringen skulle også gerne være dynamisk.

Det jeg gerne vil have den til at tjekke er at man kun vælger én 1. prioritet, én 2. prioritet osv., for hvert sæt.
Hvert sæt har altså 4 rækker, som max på have et valg i hver række og kolonne.

Kan det lade sig gøre?

Er der nogen der kan hjælpe?

På forhånd tak!

Mvh
Avatar billede roenving Novice
15. oktober 2004 - 16:50 #1
Denne checker on-the-fly og accepterer ikke at to i en blok er ens:

<script type="text/javascript">
function checkRadios(elm){
  var n = elm.name.replace(/\d$/,""),r = new Array(),s;
  var f = elm.form;
  s = f.elements[elm.name];
  for(j=0;4>j;j++)
    if(elm==s[j])
      break;
  r[0] = f.elements[n+2];
  r[1] = f.elements[n+3];
  r[2] = f.elements[n+4];
  r[3] = f.elements[n+5];
  for(i=0;4>i;i++){
    if(elm.name!=r[i][0].name){
      for(k=0;4>k;k++){
        if(r[i][k].checked&&j==k)return false;
      }
    }
  }
  return true;
}
</script>
<form>
<table cellspacing="0" cellpadding="4" border="0" style="width:100%;border-collapse:collapse;">
                <tr>
                    <td nowrap="nowrap" style="background-color:#B0C8D6;font-weight:bold;">&nbsp</td><td nowrap="nowrap" align="Center" style="background-color:#B0C8D6;width:70px;">1. prioritet</td><td nowrap="nowrap" align="Center" style="background-color:#B0C8D6;width:70px;">2. prioritet</td><td nowrap="nowrap" align="Center" style="background-color:#B0C8D6;width:70px;">3. prioritet</td><td nowrap="nowrap" align="Center" style="background-color:#B0C8D6;width:70px;">4. prioritet</td>
                </tr><tr>
                    <td style="border-top:1px dashed #CCCCCC;">Kendskab til kundernes behov</td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl2" type="radio" name="s55k2" value="_ctl2_7" onclick="return checkRadios(this);" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl3" type="radio" name="s55k2" value="_ctl3_5" onclick="return checkRadios(this);" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl4" type="radio" name="s55k2" value="_ctl4_3" onclick="return checkRadios(this);" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl5" type="radio" name="s55k2" value="_ctl5_1" onclick="return checkRadios(this);" /></td>

                </tr><tr>
                    <td style="background-color:#EBEBFC;border-top:1px dashed #CCCCCC;">Social ansvarlighed</td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl6" type="radio" name="s55k3" value="_ctl6_7" onclick="return checkRadios(this);" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl7" type="radio" name="s55k3" value="_ctl7_5" onclick="return checkRadios(this);" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl8" type="radio" name="s55k3" value="_ctl8_3" onclick="return checkRadios(this);" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl9" type="radio" name="s55k3" value="_ctl9_1" onclick="return checkRadios(this);" /></td>
                </tr><tr>
                    <td style="border-top:1px dashed #CCCCCC;">Kvalitetsstyring</td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl10" type="radio" name="s55k4" value="_ctl10_7" onclick="return checkRadios(this);" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl11" type="radio" name="s55k4" value="_ctl11_5" onclick="return checkRadios(this);" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl12" type="radio" name="s55k4" value="_ctl12_3" onclick="return checkRadios(this);" /></td><td align="Center" style="width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl13" type="radio" name="s55k4" value="_ctl13_1" onclick="return checkRadios(this);" /></td>
                </tr><tr>
                    <td style="background-color:#EBEBFC;border-top:1px dashed #CCCCCC;">Rekruttering af kvalificerede medarbejdere</td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl14" type="radio" name="s55k5" value="_ctl14_7" onclick="return checkRadios(this);" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl15" type="radio" name="s55k5" value="_ctl15_5" onclick="return checkRadios(this);" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl16" type="radio" name="s55k5" value="_ctl16_3" onclick="return checkRadios(this);" /></td><td align="Center" style="background-color:#EBEBFC;width:70px;border-top:1px dashed #CCCCCC;"><input id="_ctl17" type="radio" name="s55k5" value="_ctl17_1" onclick="return checkRadios(this);" /></td>
                </tr>

...

</form>
Avatar billede danisher Nybegynder
15. oktober 2004 - 17:23 #2
Hejsa

Det virkede sørme! Mange tak!

Point?

Mvh
Avatar billede roenving Novice
15. oktober 2004 - 17:29 #3
Velbekomme '-)
Avatar billede roenving Novice
15. oktober 2004 - 17:40 #4
-- og tak for point ;~}
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