|  | 		    
					
        
         
          
         
	
          | |  | manipulere et array af checkboxe Fra : Kim Emax
 | 
 Dato :  21-09-09 07:23
 | 
 |  | hejsa
 
 Jeg har brug for at lave en toggle funktion til checkboxe og det
 fungerer også fint så længe checkboxene er en simpel variabel, men
 ikke når det er et array (jeg bruger værdien i Key´en senere i
 scriptet)
 
 <script language="JavaScript">
 <!--
 function toggleAll(field) {
 for (i = 0; i < field.length; i++)
 field[i].checked = true; // her tænker jeg at jeg vil ændre
 værdien på field[1][i], field[2][i], field[3][i] osv
 }
 -->
 </script>
 
 <form name="myform" action="test_checkboxes.php" method="post">
 <b>Alm. checkboxe</b>
 <input type="checkbox" id="chkbx2" name="list" value="1">test1<br>
 <input type="checkbox" id="chkbx2" name="list" value="2">test2<br>
 <input type="checkbox" id="chkbx2" name="list" value="3">test3<br>
 <p>
 <b>Array checkboxe</b><br>
 <input type="checkbox" id="chkbx" name="list[1]" value="1">test1<br>
 <input type="checkbox" id="chkbx" name="list[2]" value="2">test2<br>
 <input type="checkbox" id="chkbx" name="list[3]" value="3">test3<br>
 
 <input type="button" name="CheckAll" value="Check All"
 onClick="toggleAll(document.myform.list)">
 
 Helt simpelt burde det bare handle om at smide [værdi] ind efter field
 i for loopet, som jeg har skrevet i kommentaren, men det kan jeg sgu
 ikke få til at virke. Hvordan gøres dette lige?
 
 --
 Mvh
 Kim Emax
 
 
 |  |  | 
  Kim Emax (21-09-2009) 
 
	
          | |  | Kommentar Fra : Kim Emax
 | 
 Dato :  21-09-09 07:52
 | 
 |  | On 21 Sep., 15:22, Kim Emax <kime...@gmail.com> wrote:
 > hejsa
 >
 > Jeg har brug for at lave en toggle funktion til checkboxe og det
 > fungerer også fint så længe checkboxene er en simpel variabel, men
 > ikke når det er et array (jeg bruger værdien i Key´en senere i
 > scriptet)
 >
 > <script language="JavaScript">
 > <!--
 > function toggleAll(field) {
 >   for (i = 0; i < field.length; i++)
 >     field[i].checked = true; // her tænker jeg at jeg vil ændre
 > værdien på field[1][i], field[2][i], field[3][i] osv}
 >
 > -->
 > </script>
 >
 > <form name="myform" action="test_checkboxes.php" method="post">
 > <b>Alm. checkboxe</b>
 > <input type="checkbox" id="chkbx2" name="list" value="1">test1<br>
 > <input type="checkbox" id="chkbx2" name="list" value="2">test2<br>
 > <input type="checkbox" id="chkbx2" name="list" value="3">test3<br>
 > <p>
 > <b>Array checkboxe</b><br>
 > <input type="checkbox" id="chkbx" name="list[1]" value="1">test1<br>
 > <input type="checkbox" id="chkbx" name="list[2]" value="2">test2<br>
 > <input type="checkbox" id="chkbx" name="list[3]" value="3">test3<br>
 >
 > <input type="button" name="CheckAll" value="Check All"
 > onClick="toggleAll(document.myform.list)">
 >
 > Helt simpelt burde det bare handle om at smide [værdi] ind efter field
 > i for loopet, som jeg har skrevet i kommentaren, men det kan jeg sgu
 > ikke få til at virke. Hvordan gøres dette lige?
 
 Dette kan jeg få til at gøre som jeg vil:
 
 var totalCheckBoxes = 5;
 for (j = 0; j < totalCheckBoxes; j++) {
 // alert (field+"["+j+"]")
 document.myform["list[1]"].checked = true;
 }
 
 Men prøver jeg:
 document.myform["list[j]"].checked = true;
 document.myform["list[+j+]"].checked = true;
 document.myform["list["+j+"]"].checked = true;
 document.myform["list['+j+']"].checked = true;
 
 Så får jeg en fejl. Det er sikkert en JS spisfindighed som jeg ikke
 kender til...
 
 --
 Mvh
 Kim Emax
 
 
 |  |  | 
  Birger Sørensen (21-09-2009) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  21-09-09 16:01
 | 
 |  | 
 
            Kim Emax sendte dette med sin computer:
 > On 21 Sep., 15:22, Kim Emax <kime...@gmail.com> wrote:
 >> hejsa
 >> 
 >> Jeg har brug for at lave en toggle funktion til checkboxe og det
 >> fungerer også fint så længe checkboxene er en simpel variabel, men
 >> ikke når det er et array (jeg bruger værdien i Key´en senere i
 >> scriptet)
 >> 
 >> <script language="JavaScript">
 >> <!--
 >> function toggleAll(field) {
 >>   for (i = 0; i < field.length; i++)
 >>     field[i].checked = true; // her tænker jeg at jeg vil ændre
 >> værdien på field[1][i], field[2][i], field[3][i] osv}
 >> 
 >> -->
 >> </script>
 >> 
 >> <form name="myform" action="test_checkboxes.php" method="post">
 >> <b>Alm. checkboxe</b>
 >> <input type="checkbox" id="chkbx2" name="list" value="1">test1<br>
 >> <input type="checkbox" id="chkbx2" name="list" value="2">test2<br>
 >> <input type="checkbox" id="chkbx2" name="list" value="3">test3<br>
 >> <p>
 >> <b>Array checkboxe</b><br>
 >> <input type="checkbox" id="chkbx" name="list[1]" value="1">test1<br>
 >> <input type="checkbox" id="chkbx" name="list[2]" value="2">test2<br>
 >> <input type="checkbox" id="chkbx" name="list[3]" value="3">test3<br>
 >> 
 >> <input type="button" name="CheckAll" value="Check All"
 >> onClick="toggleAll(document.myform.list)">
 >> 
 >> Helt simpelt burde det bare handle om at smide [værdi] ind efter field
 >> i for loopet, som jeg har skrevet i kommentaren, men det kan jeg sgu
 >> ikke få til at virke. Hvordan gøres dette lige?
 >
 > Dette kan jeg få til at gøre som jeg vil:
 >
 > var totalCheckBoxes = 5;
 > for (j = 0; j < totalCheckBoxes; j++) {
 >   // alert (field+"["+j+"]")
 >   document.myform["list[1]"].checked = true;
 > }
 >
 > Men prøver jeg:
 > document.myform["list[j]"].checked = true;
 > document.myform["list[+j+]"].checked = true;
 > document.myform["list["+j+"]"].checked = true;
 > document.myform["list['+j+']"].checked = true;
 >
 > Så får jeg en fejl. Det er sikkert en JS spisfindighed som jeg ikke
 > kender til...
 Nej. Det er en HTML fejl :
 fra http://www.w3.org/TR/html401/types.html#type-cdata "ID and NAME tokens must begin with a letter ([A-Za-z]) and may be 
 followed by any number of letters, digits ([0-9]), hyphens ("-"), 
 underscores ("_"), colons (":"), and periods (".")."
 Altså [ og ] er ikke lovlige karakterer i hverken id eller name 
 attributten.
 Nu ved jeg ikke hvad du skal bruge det til, så det er lidt svært at 
 komme med gode idéer.
 Jeg plejer at bruge id med understregning med et tal, og derefter en 
 eller anden form for tekst-parsing.
 Hvis du absolut skal have dine boxe på arrayform, f.eks.
 my_boxes = new Array();
 for ( idx = 0; idx < 5; idx++) {
   my_boxes[ idx] = document.getElementById( 'list_'+idx);
   }
 I øvrigt er din kode vist Jscript (virker kun i IE) og ikke javascript.
 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
  Lasse Reichstein Nie~ (21-09-2009) 
 
	
          | |  | Kommentar Fra : Lasse Reichstein Nie~
 | 
 Dato :  21-09-09 20:23
 | 
 |  | 
 
            Martin <martin@aarhof.invalid> writes:
 > Kim Emax wrote:
 >> On 21 Sep., 17:00, Birger Sørensen <s...@bbsorensen.com> wrote:
 >> 
 >>> Nej. Det er en HTML fejl :
 >>> frahttp://www.w3.org/TR/html401/types.html#type-cdata >>> "ID and NAME tokens must begin with a letter ([A-Za-z]) and may be
 >>> followed by any number of letters, digits ([0-9]), hyphens ("-"),
 >>> underscores ("_"), colons (":"), and periods (".")."
 >>> Altså [ og ] er ikke lovlige karakterer i hverken id eller name
 >>> attributten.
 >
 > [] ER lovlige, dette angiver et array.
 >
 > <input type="checkbox" name="checkbox[]" value="1" />
 > <input type="checkbox" name="checkbox[]" value="2" />
 > <input type="checkbox" name="checkbox[]" value="3" />
 > <input type="checkbox" name="checkbox[]" value="4" />
 >
 > Er fulgt lovligt
 >
 > Eller ihvertfald w3c brokker sig ikke, og det virker helt perfekt
 Det er korrekt at det er tilladt at bruge "[]" i name-attributter.
 Deres indhold er nemlig ikke NAME tokens (det er bare et tilfældigt 
 sammenfald), men bare CDATA, som gerne må indeholde "[]"-tegn.
 Så ovenstående HTML er gyldig.
 /L
 -- 
 Lasse Reichstein Holst Nielsen
  DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>   'Faith without judgement merely degrades the spirit divine.'
            
             |  |  | 
   Rune Jensen (21-09-2009) 
 
	
          | |  | Kommentar Fra : Rune Jensen
 | 
 Dato :  21-09-09 20:32
 | 
 |  | Lasse Reichstein Nielsen skrev:
 > Martin <martin@aarhof.invalid> writes:
 
 >> <input type="checkbox" name="checkbox[]" value="1" />
 >> <input type="checkbox" name="checkbox[]" value="2" />
 >> <input type="checkbox" name="checkbox[]" value="3" />
 >> <input type="checkbox" name="checkbox[]" value="4" />
 >>
 >> Er fulgt lovligt
 >>
 >> Eller ihvertfald w3c brokker sig ikke, og det virker helt perfekt
 >
 > Det er korrekt at det er tilladt at bruge "[]" i name-attributter.
 > Deres indhold er nemlig ikke NAME tokens (det er bare et tilfældigt
 > sammenfald), men bare CDATA, som gerne må indeholde "[]"-tegn.
 > Så ovenstående HTML er gyldig.
 
 Vidste jeg ikke. Men så blev man så klogere;) Vil man så få fire værdier
 retur ved submit lige meget, om der er checket af i checkboksene eller
 ej (evt nul-værdier ved dem, som ikke er checked)?
 
 
 MVH
 Rune Jensen
 
 
 |  |  | 
  Lasse Reichstein Nie~ (21-09-2009) 
 
	
          | |  | Kommentar Fra : Lasse Reichstein Nie~
 | 
 Dato :  21-09-09 21:45
 | 
 |  | 
 
            Rune Jensen <runeofdenmark@gmail.com> writes:
 >> Martin <martin@aarhof.invalid> writes:
 >
 >>> <input type="checkbox" name="checkbox[]" value="1" />
 >>> <input type="checkbox" name="checkbox[]" value="2" />
 >>> <input type="checkbox" name="checkbox[]" value="3" />
 >>> <input type="checkbox" name="checkbox[]" value="4" />
 ....
 > Vidste jeg ikke. Men så blev man så klogere;) Vil man så få fire
 > værdier retur ved submit lige meget, om der er checket af i
 > checkboksene eller ej (evt nul-værdier ved dem, som ikke er checked)?
 Værdien af en form-control bliver sendt hvis kontrollen er "successfuld",
 se fx HTML 4.01 specificationen afsnit 17.13.2: 
  http://www.w3.org/TR/html4/interact/forms.html#h-17.13.2 For en checkbox betyder det at den skal have et navn og være "on".
 Altså bliver der ikke sendt en værdi for dem der ikke er checked.
 /L
 -- 
 Lasse Reichstein Holst Nielsen
  DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>   'Faith without judgement merely degrades the spirit divine.'
            
             |  |  | 
   Rune Jensen (22-09-2009) 
 
	
          | |  | Kommentar Fra : Rune Jensen
 | 
 Dato :  22-09-09 18:22
 | 
 |  | 
 
            Lasse Reichstein Nielsen skrev:
 > Værdien af en form-control bliver sendt hvis kontrollen er "successfuld",
 > se fx HTML 4.01 specificationen afsnit 17.13.2: 
 >   http://www.w3.org/TR/html4/interact/forms.html#h-17.13.2 > For en checkbox betyder det at den skal have et navn og være "on".
 > Altså bliver der ikke sendt en værdi for dem der ikke er checked.
 Tak for at få det slået fast.
 MVH
 Rune Jensen
            
             |  |  | 
  Rune Jensen (21-09-2009) 
 
	
          | |  | Kommentar Fra : Rune Jensen
 | 
 Dato :  21-09-09 17:22
 | 
 |  | Kim Emax skrev:
 > hejsa
 >
 > Jeg har brug for at lave en toggle funktion til checkboxe og det
 > fungerer også fint så længe checkboxene er en simpel variabel, men
 > ikke når det er et array (jeg bruger værdien i Key´en senere i
 > scriptet)
 >
 > <script language="JavaScript">
 > <!--
 > function toggleAll(field) {
 >   for (i = 0; i < field.length; i++)
 >     field[i].checked = true; // her tænker jeg at jeg vil ændre
 > værdien på field[1][i], field[2][i], field[3][i] osv
 > }
 > -->
 > </script>
 >
 > <form name="myform" action="test_checkboxes.php" method="post">
 > <b>Alm. checkboxe</b>
 > <input type="checkbox" id="chkbx2" name="list" value="1">test1<br>
 > <input type="checkbox" id="chkbx2" name="list" value="2">test2<br>
 > <input type="checkbox" id="chkbx2" name="list" value="3">test3<br>
 > <p>
 > <b>Array checkboxe</b><br>
 > <input type="checkbox" id="chkbx" name="list[1]" value="1">test1<br>
 > <input type="checkbox" id="chkbx" name="list[2]" value="2">test2<br>
 > <input type="checkbox" id="chkbx" name="list[3]" value="3">test3<br>
 
 Jeg er ikke helt sikker på, hvad du vil. Hvis du vil danne et array,
 skal du give elementerne samme name. Har to elementer samme name, dannes
 der et array, hvor første element får index 0, andet får index 1 og
 sådan videre. Så vil du danne et array ud af name't "list", skal alle
 have det name. Hverken mere eller mindre. Læg mærke til, samme ID i HTML
 derimod ikke er tilladt, og kan give ikke-kendte resultater. Du skal
 bruge class, i så tilfælde. Der kan ikke oprettes arrays i HTML/CSS (men
 man kan nogle andre ting, som også er smarte i CSS).
 
 <input type="checkbox" class="chkbx" name="list" value="1">test1<br>
 <input type="checkbox" class="chkbx" name="list" value="2">test2<br>
 <input type="checkbox" class="chkbx" name="list" value="3">test3<br>
 
 Stylingen på dine checkboxe kan måske optimeres, så du slet ikke behøver
 class. Kommer an på formålet med dem.
 
 Men med ovenstående har du nu et array (eller collection) af checkboxe
 ved navn "list", som kan få styling via class "chkbx".
 
 Du skal skelne imellem ID og Class på elementer, som er alene for
 HTML/CSS, og så formens navne (name) på elementer, som bliver sendt med
 ved afsendelse af formen (SUBMIT).
 
 > <input type="button" name="CheckAll" value="Check All"
 > onClick="toggleAll(document.myform.list)">
 >
 > Helt simpelt burde det bare handle om at smide [værdi] ind efter field
 > i for loopet, som jeg har skrevet i kommentaren, men det kan jeg sgu
 > ikke få til at virke. Hvordan gøres dette lige?
 
 Overvejede, om man ikke bare i et loop kan gå igennem formens index, se
 om det er et check-box-eklement, og i så fald afkrydse det, derefter gå
 én op. Med mindre formen er kæme kæmpe stor, kan det ikke fylde mere end
 et script som leder efter boxene via arrays. ...kræver jo så nok, man er
 sikker på, man altid vil have ALLE checkboxe afkrdset med scriptet.
 
 Under alle omstændigheder ville det nok være en hjælp at vide hvor og i
 hvilken sammenhæng, det skal bruges.
 
 
 MVH
 Rune Jensen
 
 
 |  |  | 
  Kim Emax (21-09-2009) 
 
	
          | |  | Kommentar Fra : Kim Emax
 | 
 Dato :  21-09-09 10:25
 | 
 |  | 
 
            On 21 Sep., 17:00, Birger Sørensen <s...@bbsorensen.com> wrote:
 > Nej. Det er en HTML fejl :
 > frahttp://www.w3.org/TR/html401/types.html#type-cdata > "ID and NAME tokens must begin with a letter ([A-Za-z]) and may be
 > followed by any number of letters, digits ([0-9]), hyphens ("-"),
 > underscores ("_"), colons (":"), and periods (".")."
 > Altså [ og ] er ikke lovlige karakterer i hverken id eller name
 > attributten.
 aha, det var ny viden her.
 > Nu ved jeg ikke hvad du skal bruge det til, så det er lidt svært at
 > komme med gode idéer.
 > Jeg plejer at bruge id med understregning med et tal, og derefter en
 > eller anden form for tekst-parsing.
 Det har jeg sjovt nok brugt i gamle dage, før jeg opdagede at man
 kunne lave arrays i input felterne.
 I denne situation bruges til at opdatere en række brugeres data i en
 omgang. PHP ræser arrayet igennem, når der submittes.
 > Hvis du absolut skal have dine boxe på arrayform, f.eks.
 > my_boxes = new Array();
 > for ( idx = 0; idx < 5; idx++) {
 >   my_boxes[ idx] = document.getElementById( 'list_'+idx);
 >   }
 Nu er du vidst igang med din understregningsløsning    Jeg prøver
 lige, hvad du foreslår her.
 > I øvrigt er din kode vist Jscript (virker kun i IE) og ikke javascript.
 Hvilken kode tænker du på? Det første jeg postede var blot et eksempel
 på, hvad jeg ville gøre.
 --
 Mvh
 Kim Emax
            
             |  |  | 
  Martin (21-09-2009) 
 
	
          | |  | Kommentar Fra : Martin
 | 
 Dato :  21-09-09 20:18
 | 
 |  | 
 
            Kim Emax wrote:
 > On 21 Sep., 17:00, Birger Sørensen <s...@bbsorensen.com> wrote:
 > 
 >> Nej. Det er en HTML fejl :
 >> frahttp://www.w3.org/TR/html401/types.html#type-cdata >> "ID and NAME tokens must begin with a letter ([A-Za-z]) and may be
 >> followed by any number of letters, digits ([0-9]), hyphens ("-"),
 >> underscores ("_"), colons (":"), and periods (".")."
 >> Altså [ og ] er ikke lovlige karakterer i hverken id eller name
 >> attributten.
 [] ER lovlige, dette angiver et array.
 <input type="checkbox" name="checkbox[]" value="1" />
 <input type="checkbox" name="checkbox[]" value="2" />
 <input type="checkbox" name="checkbox[]" value="3" />
 <input type="checkbox" name="checkbox[]" value="4" />
 Er fulgt lovligt
 Eller ihvertfald w3c brokker sig ikke, og det virker helt perfekt
            
             |  |  | 
  Kim Emax (21-09-2009) 
 
	
          | |  | Kommentar Fra : Kim Emax
 | 
 Dato :  21-09-09 10:44
 | 
 |  | 
 
            On 21 Sep., 18:21, Rune Jensen <runeofdenm...@gmail.com> wrote:
 > Jeg er ikke helt sikker på, hvad du vil. Hvis du vil danne et array,
 > skal du give elementerne samme name. Har to elementer samme name, dannes
 > der et array, hvor første element får index 0, andet får index 1 og
 > sådan videre. Så vil du danne et array ud af name't "list", skal alle
 > have det name. Hverken mere eller mindre. Læg mærke til, samme ID i HTML
 > derimod ikke er tilladt, og kan give ikke-kendte resultater. Du skal
 > bruge class, i så tilfælde. Der kan ikke oprettes arrays i HTML/CSS (men
 > man kan nogle andre ting, som også er smarte i CSS).
 Ja, jeg vil danne et array, men det du foreslår virker ikke, når jeg
 submitter i PHP, der overskrives variablen list´s værdi og bliver i
 nedenstående tilfælde 3 - hvis jeg på den anden måde har market list
 [1] og list[3], så har jeg begge værdierne i behold, således at jeg
 ved at bruger 1 og bruger 3 skal opdateres.
 > <input type="checkbox" class="chkbx" name="list" value="1">test1<br>
 > <input type="checkbox" class="chkbx" name="list" value="2">test2<br>
 > <input type="checkbox" class="chkbx" name="list" value="3">test3<br>
 >
 > Stylingen på dine checkboxe kan måske optimeres, så du slet ikke behøver
 > class. Kommer an på formålet med dem.
 ID var sat ind for at se om jeg kunne rende samtlige enslydende IDer
 igennem, nu det lod til at JS tilsyneladende bestemte sig til at flere
 identiske name´s måtte betyde at det var et array
 > Men med ovenstående har du nu et array (eller collection) af checkboxe
 > ved navn "list", som kan få styling via class "chkbx".
 Det er desværre ikke brugbart i PHP regi.
 > Du skal skelne imellem ID og Class på elementer, som er alene for
 > HTML/CSS, og så formens navne (name) på elementer, som bliver sendt med
 > ved afsendelse af formen (SUBMIT).
 >
 > > <input type="button" name="CheckAll" value="Check All"
 > > onClick="toggleAll(document.myform.list)">
 >
 > > Helt simpelt burde det bare handle om at smide [værdi] ind efter field
 > > i for loopet, som jeg har skrevet i kommentaren, men det kan jeg sgu
 > > ikke få til at virke. Hvordan gøres dette lige?
 >
 > Overvejede, om man ikke bare i et loop kan gå igennem formens index, se
 > om det er et check-box-eklement, og i så fald afkrydse det, derefter gå
 > én op.
 Det kan være det er en mulighed, problemet er at navnet ikke er ens
 for checkboxene i og med de hedder [1], [2] osv. Derfor ville jeg bare
 tjekke på list + [j], hvor j er tælleren i en forløkke (var i
 oprindeligt, men så prøvede jeg med en inner og outer loop ting også)
 > Med mindre formen er kæme kæmpe stor, kan det ikke fylde mere end
 > et script som leder efter boxene via arrays. ...kræver jo så nok, man er
 > sikker på, man altid vil have ALLE checkboxe afkrdset med scriptet.
 Det vil være alle eller intet.
 > Under alle omstændigheder ville det nok være en hjælp at vide hvor og i
 > hvilken sammenhæng, det skal bruges.
 jeg ønsker blot at kunne checke og unchecke samtlige checkboxe i en
 form, hvor HTML´en ser sådan her ud:
 <input type="checkbox" class="chkbx" name="list[1]"
 value="1">test1<br>
 <input type="checkbox" class="chkbx" name="list[2]"
 value="2">test2<br>
 <input type="checkbox" class="chkbx" name="list[3]"
 value="3">test3<br>
 dvs. jeg vil gøre dette:
 document.myform["list[1]"].checked = true;
 dette checker og unchecker fint den første linie, ændrer jeg tallet
 til 2 er det 2. linie, der bliver ramt, så det virker sådan set fint,
 bortset fra automatikken   jeg får denne fejl i FF: Fejl:
 document.myform["list[" + j + "]"] is undefined
 Jeg tænker også man måske kunne regexe på dette name, hvis man kan
 loope samtlige elementer i formen. Men min JS viden er lidt begrænset.
 Håber du blev lidt klogere på problemet
 --
 mvh
 Kim
            
             |  |  | 
  Rune Jensen (21-09-2009) 
 
	
          | |  | Kommentar Fra : Rune Jensen
 | 
 Dato :  21-09-09 19:01
 | 
 |  | Kim Emax skrev:
 > On 21 Sep., 18:21, Rune Jensen <runeofdenm...@gmail.com> wrote:
 >
 >> Jeg er ikke helt sikker på, hvad du vil. Hvis du vil danne et array,
 >> skal du give elementerne samme name. Har to elementer samme name, dannes
 >> der et array, hvor første element får index 0, andet får index 1 og
 >> sådan videre. Så vil du danne et array ud af name't "list", skal alle
 >> have det name. Hverken mere eller mindre. Læg mærke til, samme ID i HTML
 >> derimod ikke er tilladt, og kan give ikke-kendte resultater. Du skal
 >> bruge class, i så tilfælde. Der kan ikke oprettes arrays i HTML/CSS (men
 >> man kan nogle andre ting, som også er smarte i CSS).
 >
 > Ja, jeg vil danne et array, men det du foreslår virker ikke, når jeg
 > submitter i PHP, der overskrives variablen list´s værdi og bliver i
 > nedenstående tilfælde 3 - hvis jeg på den anden måde har market list
 > [1] og list[3], så har jeg begge værdierne i behold, således at jeg
 > ved at bruger 1 og bruger 3 skal opdateres.
 
 Vil du danne et to-dimensionalt array? Så at du har et antal brugere,
 som hver har det samme antal checkboxe?
 
 Jeg tror, hvis du har en URL til siden hvor det skal bruges, ville det
 være en stor hjælp.. ;)
 
 
 PS. Jeg har selv opgivet RegEX til alt andet end, i yderste
 nødstilfælde. Det er vildt smart, og ret hurtigt i performance, men jeg
 synes let, det kan blive uoverskueligt i selve koden. Så jeg ville vente
 lidt, se om der ikke er andre løsninger først.
 
 PPS. Jeg har googlet lidt på PHP og checkbox-collections, det lader til,
 der foreslås det samme som din løsning - men det er altså ikke lovligt
 HTML, som Birger også skriver..
 
 
 MVH
 Rune Jensen
 
 
 |  |  | 
  Birger Sørensen (21-09-2009) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  21-09-09 19:19
 | 
 |  | 
 
            Kim Emax sendte dette med sin computer:
 > On 21 Sep., 18:21, Rune Jensen <runeofdenm...@gmail.com> wrote:
 8X
 >> Med mindre formen er kæme kæmpe stor, kan det ikke fylde mere end
 >> et script som leder efter boxene via arrays. ...kræver jo så nok, man er
 >> sikker på, man altid vil have ALLE checkboxe afkrdset med scriptet.
 >
 > Det vil være alle eller intet.
 >
 8X
 Giv alle checkboxene samme navn, og formen et id.
 my_form = document.getElementById( 'myform');
 boxes = my_form.getElementsByName( 'list');
 for ( idx = 0; idx < boxes.count; idx++) {
   boxes[ idx].checked = 'checked';
   }
 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
  Birger Sørensen (21-09-2009) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  21-09-09 19:22
 | 
 |  | 
 
            Kim Emax sendte dette med sin computer:
 > On 21 Sep., 18:21, Rune Jensen <runeofdenm...@gmail.com> wrote:
 8X
 >> Med mindre formen er kæme kæmpe stor, kan det ikke fylde mere end
 >> et script som leder efter boxene via arrays. ...kræver jo så nok, man er
 >> sikker på, man altid vil have ALLE checkboxe afkrdset med scriptet.
 >
 > Det vil være alle eller intet.
 >
 8X
 Giv alle checkboxene samme navn, og formen et id.
 my_form = document.getElementById( 'myform');
 boxes = my_form.getElementsByName( 'list');
 for ( idx = 0; idx < boxes.count; idx++) {
   boxes[ idx].checked = 'checked';
   }
 Birger
 for ( idx = 0; idx < boxes.length; idx++) {
 skal det være i js :/
 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
   Rune Jensen (21-09-2009) 
 
	
          | |  | Kommentar Fra : Rune Jensen
 | 
 Dato :  21-09-09 19:43
 | 
 |  | Birger Sørensen skrev:
 > Kim Emax sendte dette med sin computer:
 >> On 21 Sep., 18:21, Rune Jensen <runeofdenm...@gmail.com> wrote:
 > 8X
 >>> Med mindre formen er kæme kæmpe stor, kan det ikke fylde mere end
 >>> et script som leder efter boxene via arrays. ...kræver jo så nok, man er
 >>> sikker på, man altid vil have ALLE checkboxe afkrdset med scriptet.
 >>
 >> Det vil være alle eller intet.
 >>
 > 8X
 >
 > Giv alle checkboxene samme navn, og formen et id.
 >
 > my_form = document.getElementById( 'myform');
 > boxes = my_form.getElementsByName( 'list');
 > for ( idx = 0; idx < boxes.count; idx++) {
 >  boxes[ idx].checked = 'checked';
 >  }
 
 Det var ikke meget ;)
 
 En anden ting, som jeg bed mærke i.. Kim skriver også, der er problemer
 med PHP. Og jeg tror, det er fordi, der kun sendes en value, hvis boxen
 er checked, men positionen er ikke den samme som i arrayet, hvis ikke
 alle checkboxene er checked. Jeg har set flere forslag til løsninger,
 bl.a. at bruge cookies til staten af checkboxen. Eller hidden fields.
 
 Jeg kan godt se, hvis der køres på rent array, og f.eks. kun checkbox 3
 er checked, vil den komme ind som nummer 1 i arrayet, selv om dens
 position er 3. Så array-counten virker ikke lige til det, man kan se
 værdi, men ikke for hvilken checkbox i arrayet, den værdi hører til, med
 mindre, man har positionsværdien i value.
 
 Jeg ved ikke, om det er det, der hentydes til, også fordi jeg er ikke
 sikker på, hvad det skal bruges til, men jeg har selv haft samme problem
 engang med checkbox collections. Man kan prøve at ændre til get i stedet
 for post i formen, så kan man se selve arrayet i queryatring ved submit.
 Det bør være komma-separeret.
 
 Sorry iøvrigt, hvis jeg har misforstået lige dét problem ;)
 
 
 MVH
 Rune Jensen
 
 
 |  |  | 
    N/A (22-09-2009) 
 
	
          | |  | Kommentar Fra : N/A
 | 
 Dato :  22-09-09 18:35
 | 
 |  | 
 
 
 |  |  | 
     N/A (22-09-2009) 
 
	
          | |  | Kommentar Fra : N/A
 | 
 Dato :  22-09-09 18:35
 | 
 |  | 
 
 
 |  |  | 
  N/A (21-09-2009) 
 
	
          | |  | Kommentar Fra : N/A
 | 
 Dato :  21-09-09 20:51
 | 
 |  | 
 
 
 |  |  | 
  N/A (21-09-2009) 
 
	
          | |  | Kommentar Fra : N/A
 | 
 Dato :  21-09-09 19:01
 | 
 |  | 
 
 
 |  |  | 
  N/A (21-09-2009) 
 
	
          | |  | Kommentar Fra : N/A
 | 
 Dato :  21-09-09 20:18
 | 
 |  | 
 
 
 |  |  | 
  N/A (21-09-2009) 
 
	
          | |  | Kommentar Fra : N/A
 | 
 Dato :  21-09-09 20:18
 | 
 |  | 
 
 
 |  |  | 
  Kim Emax (21-09-2009) 
 
	
          | |  | Kommentar Fra : Kim Emax
 | 
 Dato :  21-09-09 13:43
 | 
 |  | 
 
            On Sep 21, 8:43 pm, Rune Jensen <runeofdenm...@gmail.com> wrote:
 > En anden ting, som jeg bed mærke i.. Kim skriver også, der er problemer
 > med PHP. Og jeg tror, det er fordi, der kun sendes en value, hvis boxen
 > er checked, men positionen er ikke den samme som i arrayet, hvis ikke
 > alle checkboxene er checked. Jeg har set flere forslag til løsninger,
 > bl.a. at bruge cookies til staten af checkboxen. Eller hidden fields.
 Niksen biksen, PHP fungerer fint    Jeg har lagt et eksempel op til
 dig her: http://emax.dk/js_array_test.php Smider lige lidt mere kode ind efterhånden som jeg får det flyttet
 over. Det jeg udvikler på ligger på en lokal maskine uden netadgang...
 --
 Mvh
 Kim Emax
            
             |  |  | 
  Rune Jensen (21-09-2009) 
 
	
          | |  | Kommentar Fra : Rune Jensen
 | 
 Dato :  21-09-09 20:51
 | 
 |  | 
 
            Kim Emax skrev:
 > On Sep 21, 8:43 pm, Rune Jensen <runeofdenm...@gmail.com> wrote:
 > 
 >> En anden ting, som jeg bed mærke i.. Kim skriver også, der er problemer
 >> med PHP. Og jeg tror, det er fordi, der kun sendes en value, hvis boxen
 >> er checked, men positionen er ikke den samme som i arrayet, hvis ikke
 >> alle checkboxene er checked. Jeg har set flere forslag til løsninger,
 >> bl.a. at bruge cookies til staten af checkboxen. Eller hidden fields.
 > 
 > Niksen biksen, PHP fungerer fint    Jeg har lagt et eksempel op til
 > dig her: http://emax.dk/js_array_test.php Ah, jo, men der bruges jo [], som jeg så troede ikke var lovligt. 
 Egentlig er mine indlæg ikke så relevante mere, når det så ER lovligt at 
 bruge dem, jeg foreslog jo alle mulige krumspring;)
 > Smider lige lidt mere kode ind efterhånden som jeg får det flyttet
 > over. Det jeg udvikler på ligger på en lokal maskine uden netadgang...
 Det ser jeg frem til. Jeg kan nok ikke hjælpe så meget med selve 
 javascriptet, men dit problem interesserer mig, for jeg har selv haft 
 problemer med checkboxe-collections og iøvrigt også arrays i JS. Det kan 
 være, det er ved at løse sig med en løsning på dit problem. Så jeg 
 følger lige lidt med her.
 MVH
 Rune Jensen
            
             |  |  | 
   Rune Jensen (21-09-2009) 
 
	
          | |  | Kommentar Fra : Rune Jensen
 | 
 Dato :  21-09-09 20:58
 | 
 |  | Rune Jensen skrev:
 > Kim Emax skrev:
 
 >> Smider lige lidt mere kode ind efterhånden som jeg får det flyttet
 >> over. Det jeg udvikler på ligger på en lokal maskine uden netadgang...
 >
 
 Det var liggodt som.. kan man mon også det i ASP? Det ville være ret
 smart i hvert fald. Der holdes ikke arrayet position med de koder jeg
 kender, derfor bruger jeg aldrig checkboxe, hvis jeg kan undgå det.
 
 Nå, tid at skrubbe i seng.
 
 
 MVH
 Rune Jensen
 
 
 |  |  | 
    Stig Johansen (21-09-2009) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  21-09-09 23:35
 | 
 |  | 
 
            "Rune Jensen" <runeofdenmark@gmail.com> wrote in message
 news:4ab7dae4$0$25190$456a7185@news.cirque.dk...
 >
 > Det var liggodt som.. kan man mon også det i ASP? Det ville være ret
 > smart i hvert fald. Der holdes ikke arrayet position med de koder jeg
 > kender, derfor bruger jeg aldrig checkboxe, hvis jeg kan undgå det.
 Ikke sådan direkte, tror jeg.
 Jeg har lavet en kopi af Kim's test her:
http://w-o-p-r.dk/test/checkbox.array.html der kalder en generel dump af de parametre der er til rådighed.
 Her kan du se, at der i virkeligheden er tale om forskellige navne, der
 formentlig 'automagisk' bliver omdannet til arrays i PHP hvis navnet
 indeholder [].
 Det burde være relativt nemt at lave en lille toarray funktion hvis man har
 lyst til det.
 --
 Med venlig hilsen/Best regards
 Stig Johansen
            
             |  |  | 
     Rune Jensen (22-09-2009) 
 
	
          | |  | Kommentar Fra : Rune Jensen
 | 
 Dato :  22-09-09 18:28
 | 
 |  | 
 
            Stig Johansen skrev:
 > "Rune Jensen" <runeofdenmark@gmail.com> wrote in message
 > news:4ab7dae4$0$25190$456a7185@news.cirque.dk...
 >> Det var liggodt som.. kan man mon også det i ASP? Det ville være ret
 >> smart i hvert fald. Der holdes ikke arrayet position med de koder jeg
 >> kender, derfor bruger jeg aldrig checkboxe, hvis jeg kan undgå det.
 > 
 > Ikke sådan direkte, tror jeg.
 > Jeg har lavet en kopi af Kim's test her:
 > http://w-o-p-r.dk/test/checkbox.array.html > der kalder en generel dump af de parametre der er til rådighed.
 > Her kan du se, at der i virkeligheden er tale om forskellige navne, der
 > formentlig 'automagisk' bliver omdannet til arrays i PHP hvis navnet
 > indeholder [].
 Jeg tror, jeg har fået nærmest fuld forståelse med form-afsendelse 
 efterhånden med jeres indlæg
 > Det burde være relativt nemt at lave en lille toarray funktion hvis man har
 > lyst til det.
 Mit problem dengang, løste jeg ved at adskille med _ og nummer. Iøvrigt 
 noget frygteligt rod, da der var _mange_ elementer, og derfor jeg var på 
 udkig efter en alt. løsning.. Det var så ikke array, men man kunne se, 
 checkboxens nummer.
 Så forskellen på PHP er, at ASP laver et array, hvis name er ens, mens 
 PHP laver array, hvis der er [nummer] i name.. der er jo både fordele og 
 ulemper ved begge. Umiddelbart ville ASP-modellen virke mest logisk for 
 mig, men den har så den bagdel, som sagt, man ikke kan se 
 array-positionen. Med PHP-modellen, der skal man så rette i HTMLen, hvis 
 man vil tilføje eller fjerne et element. Tjah.. men godt at blive 
 oplyst, i hvert fald ;)
 MVH
 Rune Jensen
            
             |  |  | 
      Stig Johansen (23-09-2009) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  23-09-09 04:12
 | 
 |  | 
 
            Rune Jensen wrote:
 > Mit problem dengang, løste jeg ved at adskille med _ og nummer.
 Den metode bruger jeg også.
 Jeg ved ikke hvad du har brug for, hvis du har brug for noget, men du kan se
 et eksempel her:
 <http://w-o-p-r.dk/notes/show.base.asp?databasename=Notes> (Der er ikke offentlig adgang, så det er nok kun Rune, der kan se den).
 Hvis du klikker på create view, kan du se en autogenereret liste med felter
 og checkboxe.
 Til sidst har jeg så:
 <input type='hidden' name='fieldcount' value='6'/>
 > Iøvrigt 
 > noget frygteligt rod, da der var _mange_ elementer, og derfor jeg var på
 > udkig efter en alt. 
 Jeg synes ikke det er noget rod.
 I ASP koden er det bare et loop, der udskriver, og et loop (fieldcount), der
 læser.
 -- 
 Med venlig hilsen
 Stig Johansen
            
             |  |  | 
  Kim Emax (21-09-2009) 
 
	
          | |  | Kommentar Fra : Kim Emax
 | 
 Dato :  21-09-09 14:20
 | 
 |  | 
 
            On Sep 21, 9:57 pm, Rune Jensen <runeofdenm...@gmail.com> wrote:
 > Det var liggodt som.. kan man mon også det i ASP? Det ville være ret
 > smart i hvert fald. Der holdes ikke arrayet position med de koder jeg
 > kender, derfor bruger jeg aldrig checkboxe, hvis jeg kan undgå det.
 Nu er jeg lidt i tvivl om, hvad du mener med arrayets position, men
 checker den holde da både key og value, hvis du f.eks. vælger 2,4 og 5
 > Nå, tid at skrubbe i seng.
 Ja, det er måske lidt af problemet    Sov godt og tak for dine inputs
 --
 Mvh
 Kim Emax
            
             |  |  | 
  Rune Jensen (22-09-2009) 
 
	
          | |  | Kommentar Fra : Rune Jensen
 | 
 Dato :  22-09-09 18:35
 | 
 |  | 
 
            Kim Emax skrev:
 > On Sep 21, 9:57 pm, Rune Jensen <runeofdenm...@gmail.com> wrote:
 > 
 >> Det var liggodt som.. kan man mon også det i ASP? Det ville være ret
 >> smart i hvert fald. Der holdes ikke arrayet position med de koder jeg
 >> kender, derfor bruger jeg aldrig checkboxe, hvis jeg kan undgå det.
 > 
 > Nu er jeg lidt i tvivl om, hvad du mener med arrayets position, men
 > checker den holde da både key og value, hvis du f.eks. vælger 2,4 og 5
 Du kan faktisk se det i det link, som Stig sendte.
 Lad os sige, du har fem checkboxe. Dem vil du gerne have skal være et 
 array. I ASP, der laves arrays ved at sætte samme name. Men... der 
 bliver jo kun sendt værdi, hvis checkboxen er "succesfuld". Hvilket vil 
 sige, at hvis du har en value, som _ikke_ er arrayets nummer, kan du 
 ikke se, hvilken checkbox, som er krydset (nødvendigvis).
 F.eks., du afkrydser checkbox 1 og fem. Det vil ikke afsendes sådan her:
 value,,,,value
 men sådan her:
 value, value
 Så den første, den passer med at checkbox ét er checked, og også har 
 position ét i arrayet, men nummer fem hedder pludselig to i arrayet.
 Sådan vil det ikke være i PHP, hvor man specifikt kan give name efter 
 arrayets position. Men som Stig skriver, kan metoden overføres til ASP 
 med lidt kode.
 >> Nå, tid at skrubbe i seng.
 > 
 > Ja, det er måske lidt af problemet    Sov godt og tak for dine inputs
 Jeg lærte i hvert fald en del her..
 ;)
 MVH
 Rune Jensen
            
             |  |  | 
  Kim Emax (21-09-2009) 
 
	
          | |  | Kommentar Fra : Kim Emax
 | 
 Dato :  21-09-09 14:23
 | 
 |  | 
 
            On Sep 21, 5:00 pm, Birger Sørensen <s...@bbsorensen.com> wrote:
 > Nej. Det er en HTML fejl :
 > frahttp://www.w3.org/TR/html401/types.html#type-cdata > "ID and NAME tokens must begin with a letter ([A-Za-z]) and may be
 > followed by any number of letters, digits ([0-9]), hyphens ("-"),
 > underscores ("_"), colons (":"), and periods (".")."
 > Altså [ og ] er ikke lovlige karakterer i hverken id eller name
 > attributten.
 Jeg tror du læser det der forkert. En variabel må hedde test men ikke
 te]st. test[] er et array, der hedder test.
 --
 Mvh
 Kim Emax
            
             |  |  | 
  Kim Emax (21-09-2009) 
 
	
          | |  | Kommentar Fra : Kim Emax
 | 
 Dato :  21-09-09 14:57
 | 
 |  | 
 
            On Sep 21, 9:51 pm, Rune Jensen <runeofdenm...@gmail.com> wrote:
 > Det ser jeg frem til. Jeg kan nok ikke hjælpe så meget med selve
 > javascriptet, men dit problem interesserer mig, for jeg har selv haft
 > problemer med checkboxe-collections og iøvrigt også arrays i JS. Det kan
 > være, det er ved at løse sig med en løsning på dit problem. Så jeg
 > følger lige lidt med her.
 Jamen så kan det være du kan bruge denne url, for det er løst nu   http://emax.dk/javascript/toggleCheckboxes.php Den kan evt. udbygges med et ekstra parameter til funktionen (true/
 false), så man kan afgøre om alle skal checked/uncheckes
 --
 Mvh
 Kim Emax
            
             |  |  | 
  Rune Jensen (22-09-2009) 
 
	
          | |  | Kommentar Fra : Rune Jensen
 | 
 Dato :  22-09-09 19:04
 | 
 |  | 
 
            Kim Emax skrev:
 > On Sep 21, 9:51 pm, Rune Jensen <runeofdenm...@gmail.com> wrote:
 > 
 >> Det ser jeg frem til. Jeg kan nok ikke hjælpe så meget med selve
 >> javascriptet, men dit problem interesserer mig, for jeg har selv haft
 >> problemer med checkboxe-collections og iøvrigt også arrays i JS. Det kan
 >> være, det er ved at løse sig med en løsning på dit problem. Så jeg
 >> følger lige lidt med her.
 > 
 > Jamen så kan det være du kan bruge denne url, for det er løst nu    > 
 > http://emax.dk/javascript/toggleCheckboxes.php > 
 > Den kan evt. udbygges med et ekstra parameter til funktionen (true/
 > false), så man kan afgøre om alle skal checked/uncheckes
 Bortset fra, den jeg skal bruge lige pt., skal have getElementsByTagName 
 i stedet, men det er jo stadig en collection, og ikke det, som er 
 problemet (lige nu), der er det mere, om den virker i alle browsere.. 
 Den jeg har, virker ikke i alle browsere, nemlig, hvilket irriterer mig 
 lidt.
 Men jeg kigger på din kode, så.
 MVH
 Rune Jensen
            
             |  |  | 
  Kim Emax (21-09-2009) 
 
	
          | |  | Kommentar Fra : Kim Emax
 | 
 Dato :  21-09-09 14:59
 | 
 |  | Hej Birger
 
 On Sep 21, 8:21 pm, Birger Sørensen <s...@bbsorensen.com> wrote:
 
 > 8X
 
 8x?
 
 > Giv alle checkboxene samme navn, og formen et id.
 >
 > my_form = document.getElementById( 'myform');
 > boxes = my_form.getElementsByName( 'list');
 > for ( idx = 0; idx < boxes.count; idx++) {
 >   boxes[ idx].checked = 'checked';
 >   }
 
 Jeg brugte ikke dit eksempel, men det løste mit problem med en løsning
 jeg havde fundet, der var fyldt med fejl, så tak for hjælpen. Se min
 posting andetsteds i tråden for løsningen.
 
 --
 Mvh
 Kim Emax
 
 
 |  |  | 
  Birger Sørensen (21-09-2009) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  21-09-09 22:20
 | 
 |  | 
 
            Efter mange tanker skrev Kim Emax:
 > Hej Birger
 >
 > On Sep 21, 8:21 pm, Birger Sørensen <s...@bbsorensen.com> wrote:
 >
 >> 8X
 >
 > 8x?
 >
 >> Giv alle checkboxene samme navn, og formen et id.
 >> 
 >> my_form = document.getElementById( 'myform');
 >> boxes = my_form.getElementsByName( 'list');
 >> for ( idx = 0; idx < boxes.count; idx++) {
 >>   boxes[ idx].checked = 'checked';
 >>   }
 >
 > Jeg brugte ikke dit eksempel, men det løste mit problem med en løsning
 > jeg havde fundet, der var fyldt med fejl, så tak for hjælpen. Se min
 > posting andetsteds i tråden for løsningen.
 8X = saks
   Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
  Kim Emax (22-09-2009) 
 
	
          | |  | Kommentar Fra : Kim Emax
 | 
 Dato :  22-09-09 01:36
 | 
 |  | 
 
            On 21 Sep., 23:20, Birger Sørensen <s...@bbsorensen.com> wrote:
 > >> Giv alle checkboxene samme navn, og formen et id.
 > > Jeg brugte ikke dit eksempel, men det løste mit problem med en løsning
 > > jeg havde fundet, der var fyldt med fejl, så tak for hjælpen. Se min
 > > posting andetsteds i tråden for løsningen.
 Lige for at uddybe, det var ovenstående du skrev, der hjalp mig til at
 løse fejlene i den anden løsning
 > 8X = saks
 >    ahhh     ? nej, nu stopper vi    --
 Mvh
 Kim Emax
            
             |  |  | 
 |  |