Avatar billede supermand69 Nybegynder
09. marts 2005 - 19:41 Der er 9 kommentarer og
1 løsning

function - parent form

function check_all(cb, frm)
{
    elm = document.forms[frm].elements;
    for(i=0; elm.length>i; i++)
    {
        if(elm[i].type == 'checkbox' && elm[i].name != '')
        {
            elm[i].checked = cb;
            change_background(elm[i]);
        }
    }
}

<input class="none" type="checkbox" onclick="check_all(this.checked, 'form_box')"> Marker alle

hvordan kan jeg gøre således at jeg bliver fri for at angive hvilken form der er tale om?
Avatar billede olebole Juniormester
09. marts 2005 - 21:16 #1
<ole>

Hvad mener du? Hvordan skal scriptet vide, hvilken forms elementer, det skal tage fat i, hvis du ikke angiver formen?  :)

/mvh
</bole>
Avatar billede supermand69 Nybegynder
09. marts 2005 - 21:20 #2
man kan vel tjekke hvilken form at selve inputet ligger i? :)
Avatar billede roenving Novice
11. marts 2005 - 10:29 #3
<input class="none" type="checkbox" onclick="check_all(this.checked, this.form)"> Marker alle

-- og så:

function check_all(cb, frm)
{
    elm = frm.elements;
    for(i=0; elm.length>i; i++)
Avatar billede skyggen2000 Nybegynder
11. marts 2005 - 16:22 #4
<html>
<body>   
    <form id="form_1"></form>
    <form id="form_2"></form>
    <form id="form_3"></form>
</body>
</html>

<script>
    var tempArray = document.getElementsByTagName("FORM");
       
    for(var i in tempArray)
        if(tempArray[i].id)
            alert(tempArray[i].id);
   
</script>

i stedet for alert, kalder du din funktion med form elementet. Derved tjekker den samtlige tjekbokse på siden hvis det er det du vil.
Avatar billede olebole Juniormester
11. marts 2005 - 16:51 #5
skyggen2000 >> Hehe ... det er fint, du lige har opdaget for/in-løkken - og jeg ved godt at 'for en mand med en ny hamme kommer alt til at ligne søm' - men her er det da helt hen i vejret at bruge den  ;o)

Hvis formen har et ID, er det jo bare at kalde den direkte med getElementById  :)
Der er ingen grund til først at skulle oprette et array med dokumentets forms - og derefter itterere igennem dem i en skidt performende for/in. Igen ville en helt almindelig for-løkke være mere effektiv og der er ingen fordele ved for/in-løkken her.
Avatar billede supermand69 Nybegynder
12. marts 2005 - 00:13 #6
ole > lav et svar :)
Avatar billede supermand69 Nybegynder
12. marts 2005 - 00:15 #7
jeg har ændret til this.form, men nu viker min check_all() ikke mere?
Avatar billede olebole Juniormester
12. marts 2005 - 00:20 #8
Har du husket at skrive, som jeg gjorde? Har du lavet linie:
  elm = document.forms[frm].elements;
- om til:
  elm = frm.elements;
Avatar billede supermand69 Nybegynder
12. marts 2005 - 09:54 #9
nu har jeg :)

takker...
Avatar billede olebole Juniormester
12. marts 2005 - 12:18 #10
Hehe ... selvtak - også for points  ;o)
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