Avatar billede dennish Nybegynder
20. oktober 2006 - 13:50 Der er 12 kommentarer og
1 løsning

klikke på link og derefter markere checkboxe

Jeg har følgede kode ( "fundet på eksperten"). Det virker fint med
input type="button" MEN jeg vil gerne kunne klikke på min LINK og derefter markerer(afvinge) alle mine checkboxe. Hvad er det lige jeg gør forkert ?

<form action ="" method ="post">
<a href="java script: markerAlle(document.this.form,true)">Make check</a><br>
    <input type="checkbox" name="aa1">
    <input type="checkbox" name="a2">
    <input type="checkbox" name="aa3">
    <input type="checkbox" name="a4">
    <input type="checkbox" name="aa5">
    <input type="checkbox" name="a6">
    <input type="button" value="Marker alle" onclick="markerAlle(this.form,true);">
    <input type="button" value="fjern alle" onclick="markerAlle(this.form,false);">
</form>


<script>
    function markerAlle(fields,value) {
        alert('Du skal aktivt sætte et hak i checkboxen!');   
          for (i=0;i<fields.elements.length;i++) {
              if (fields.elements[i].name.match(/^aa/)) {
                fields.elements[i].checked=value;
              }
          }
    }

</script>
Avatar billede dennish Nybegynder
20. oktober 2006 - 13:51 #1
Ups alert er bare til for at teste om jeg kommer ind i funktionen
Avatar billede sw_red_6 Nybegynder
20. oktober 2006 - 13:57 #2
hmm prøv at sætte et name="bokse" på din form og brug <a href="java script: markerAlle(document.bokse,true)">Make check</a>
eftersom <a href> ikke er et form element kan du ikke bruge this.form, hvis jeg ikke huske totalt forkert
Avatar billede cpufan Juniormester
20. oktober 2006 - 13:58 #3
istedet for true hedder den vist checked
Avatar billede sw_red_6 Nybegynder
20. oktober 2006 - 13:59 #4
nej, der skal stå true eller false alt efter om de skal være checked eller unchecked
Avatar billede cpufan Juniormester
20. oktober 2006 - 14:03 #5
oki doki - jeg er sgu også lidt lam i pæren i dag -  <|;>)>--
Avatar billede dennish Nybegynder
20. oktober 2006 - 14:23 #6
sw>> det virker :-) So far so good. Tillader mig at smide et tillægsspørgsmål ( skal nok oprettet et nyt spørgsmål, hvis du gerne vil have flere point)

Min kode ser nu sådan her ud:
Jeg vil gerne når jeg klikker på link Make OneCheck ud fra den pågælgende checkboks afvinge KUN den ENE checkboxen. Lige nu bliver alle markeret. Tror nok jeg skal hente værdien value ud og sende den med som parametre til funktionen markerEn. Men hvordan ved jeg ikke ( vil være meget taknemmelig hvis du eller andre kan hjælpe )




<form method="post" action="" name ="box">
    <a href="java script: markerAlle(document.box,true)">Make check</a><br>
    <a href="java script: markerAlle(document.box,false)">Make Uncheck</a><br>
    <input type="checkbox" name="aa1" value ="c1"> <a href="java script: markerEn(document.box,true)">Make OneCheck</a><br>
    <input type="checkbox" name="a2"  value ="c2"><a href="java script: markerEn(document.box,true)">Make OneCheck</a><br>
    <input type="checkbox" name="aa3" value ="c3"><a href="java script: markerEn(document.box,true)">Make OneCheck</a><br>
    <input type="checkbox" name="a4"  value ="c4"><a href="java script: markerEn(document.box,true)">Make OneCheck</a><br>
    <input type="checkbox" name="aa5" value ="c5"><a href="java script: markerEn(document.box,true)">Make OneCheck</a><br>
    <input type="checkbox" name="a6"  value ="c6"><a href="java script: markerEn(document.box,true)">Make OneCheck</a><br>
</form>

<script>

   
    function markerEn(fields,value,param) {
          for (i=0;i<fields.elements.length;i++) {
              if (fields.elements[i].value.match(/^c/)) {
                fields.elements[i].checked=value;
              }
          }
    }
   
    function markerAlle(fields,value) {
          for (i=0;i<fields.elements.length;i++) {
              if (fields.elements[i].value.match(/^c/)) {
                fields.elements[i].checked=value;
              }
          }
    }

</script>





<form method="post" action="" name ="box">
    <a href="java script: markerAlle(document.box,true)">Make check</a><br>
    <input type="checkbox" name="aa1"><br>
    <input type="checkbox" name="a2"><br>
    <input type="checkbox" name="aa3"><br>
    <input type="checkbox" name="a4"><br>
    <input type="checkbox" name="aa5"><br>
    <input type="checkbox" name="a6"><br>
</form>

<script>
    function markerAlle(fields,value) {
          for (i=0;i<fields.elements.length;i++) {
              if (fields.elements[i].name.match(/^a/)) {
                fields.elements[i].checked=value;
              }
          }
    }

</script>
Avatar billede sw_red_6 Nybegynder
20. oktober 2006 - 14:42 #7
hmm det kan vidst gøres med:
<input type="checkbox" name="aa1" value ="c1"> <a href="java script: markerEn(document.box,true, document.box.aa1.value)">Make OneCheck</a><br>

og det skal så gøres på alle checkboxe.
det er document.FORM_NAVN.ELEMENT_NAVN hvis det kan hjælpe
Avatar billede dennish Nybegynder
20. oktober 2006 - 14:54 #8
Jeg har gjort sådan her:

Men der virker ikke ?? Hvad gør jeg forkert ?

<input type="checkbox" name="aa1" value ="c1"> <a href="java script: markerEn(document.box,true, document.box.aa1.value)">Make OneCheck</a><br>

function markerEn(fields,value,param,one) {
          for (i=0;i<fields.elements.length;i++) {
              if (fields.elements[i].value.match(one)) {
                fields.elements[i].checked=value;
              }
          }
    }
Avatar billede sw_red_6 Nybegynder
20. oktober 2006 - 14:59 #9
hmm jeg forstår heller ikke lige den funktion, eller hvorfor du overhovedet har den.
Men hvis du vil bruge er link så prøv bare at bruge den her funktion, med samme link:
function markerEn(fields,value,param) {
          for (i=0;i<fields.elements.length;i++) {
              if (fields.elements[i].value.match(/^c/)) {
                fields.elements[i].checked=value;
              }
          }
    }
Avatar billede dennish Nybegynder
20. oktober 2006 - 15:13 #10
sw red>> det kan godt se lidt underligt ud. Det indrømmer jeg, men det er fordi jeg skal have integreret min javascript kode i en eksisterende applikation(framework). Jeg får en value og ud fra den skal jeg markere(afvinge) en checkbox.

Fejlen var at jeg have en parametre for meget med i min metode
function markerEn(fields,value,one) {..} Nu virker det :- )
Avatar billede sw_red_6 Nybegynder
20. oktober 2006 - 15:14 #11
godt at det virker
Avatar billede dennish Nybegynder
20. oktober 2006 - 15:21 #12
Tusinde Tak for hjælpen :-)
Avatar billede sw_red_6 Nybegynder
20. oktober 2006 - 15:24 #13
så lidt. takker 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