Avatar billede hmortensen Nybegynder
08. juni 2006 - 11:31 Der er 5 kommentarer og
1 løsning

Adgang til array baserede form elementer

Hej

Jeg har nogle checkboxe, som jeg ved aktivering af en anden checkbox, skal kunne disable.

Mine checkboxe ser således ud:
Nyhed: <input type="checkbox" name="Nyhed[2]" value=1
checked="checked">
Links: <input type="checkbox" name="Links[2]" value=2 checked="checked">
Brugere: <input type="checkbox" name="Brugere[2]" value=4
checked="checked">
Slet Alle rettigheder: <input type="checkbox" name="Slet[2]" value="0" onChange="deaktiverecheckboxe(this.form, 2, new Array('Nyhed','Links','Brugere'))">


Ved tryk på "Slet alle rettigheder", skal de 3 første checkboxe disables. For hver række data jeg har, ha jeg de 4 ovenstående checkboxe - derfor har de et index.

Jeg har prøvet at få fat i elementerne sådan her:
function deaktiverecheckboxe(frm, brugerid, niveauer)
{
    for(i = 0; i < niveauer.length; i++)
    {
        var a = niveauer[i] + "[" + brugerid + "]";
        frm.a.disabled = true;
    }
}

Hvordan skal min metode se ud, så jeg kan få fat i checkboxene?


Mvh.
H. Mortensen
Avatar billede nyp Nybegynder
13. juni 2006 - 00:11 #1
Ved ikke om du kan bruge det til noget men det er vist dine name der er problemet, denne her virker:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>deaktiverecheckboxe</title>
<script>
function deaktiverecheckboxe(niveauer)
{
    for(i = 0; i < niveauer.length; i++)
    {
        niveauer[i].disabled = true;
    }
}
</script>
</head>

<body>

<form method="POST">
Nyhed: <input type="checkbox" name="Nyhed_2" value=1 checked="checked">
Links: <input type="checkbox" name="Links_2" value=2 checked="checked">
Brugere: <input type="checkbox" name="Brugere_2" value=4 checked="checked">
Slet Alle rettigheder: <input type="checkbox" name="Slet[2]" value="0" onchange="deaktiverecheckboxe( new Array(this.form.Nyhed_2,this.form.Links_2,this.form.Brugere_2))">
</form>
</body>
</html>
Avatar billede hmortensen Nybegynder
13. juni 2006 - 08:08 #2
Problemet med din navngivning, er at når jeg skal modtage form dataen i PHP, kan jeg ikke arbejde med det som et array.
Avatar billede nyp Nybegynder
13. juni 2006 - 08:53 #3
Du kunne jo så bruge id i stedet.

<script>
function deaktiverecheckboxe(niveauer)
{
    for(i = 0; i < niveauer.length; i++)
    {
        document.getElementById(niveauer[i]).disabled = true;
    }
}
</script>
</head>

<body>

<form method="POST">
Nyhed: <input type="checkbox" id="Nyhed_2" name="Nyhed[2]" value=1 checked="checked">
Links: <input type="checkbox" id="Links_2" name="Links[2]" value=2 checked="checked">
Brugere: <input type="checkbox" id="Brugere_2" name="Brugere[2]" value=4 checked="checked">
Slet Alle rettigheder: <input type="checkbox" name="Slet[2]" value="0" onchange="deaktiverecheckboxe( new Array('Nyhed_2','Links_2','Brugere_2'))">
</form>
Avatar billede hmortensen Nybegynder
13. juni 2006 - 12:11 #4
Ja det kunne jeg jo egentlig, prøver lige at lege lidt med det i morgen. Så vender jeg tilbage.
Avatar billede hmortensen Nybegynder
02. januar 2007 - 13:33 #5
Smider du et svar.
Avatar billede hmortensen Nybegynder
26. april 2007 - 11:03 #6
Lukker.
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