Avatar billede ossi Nybegynder
04. september 2003 - 11:54 Der er 8 kommentarer

Marker alle og submit

Jeg har et spørgsmål... Jeg har en form og nogle checkboxe, som alle har navnet "delete[]" (bruges som array i PHP når formen submittes).

Nu skal jeg så ha nogle almindelige links, som kan markere alle checkboxene med det navn - hvordan gøres dette?

Tillægsspørgsmål... Kan man lave submitknappen "usynlig", så den bliver submittet når der trykkes på et <a> link?
Avatar billede summersun Nybegynder
04. september 2003 - 20:15 #1
function checkAll()
    {

        checkValue = !checkValue;

        var objBox = document.navnetpåformen['delete[]'];

        if (objBox.length > 0)
        {
       
            for (var i = 0; i < objBox.length; i++)

                objBox[i].checked = checkValue;
        }
        else
        {
            objBox.checked = checkValue;
        }

    }


også smider du bare det herind et sted onclick="checkAll();"
Avatar billede roenving Novice
05. september 2003 - 05:41 #2
Javascript har et problem med elementer som er navngivet med array-betegnelser, som giver en grundlæggende konflikt med database-scripts, derfor skal du for at oprette forbindelsen hele vejen rundt om genkendelse:

<script type="text/javascript">
function checkNu(Nu){
  b = document.forms[0].elements;
  for(i=0;b.length>i;i++){
      if(b[i].type=='checkbox'&&b[i].name.indexOf(Nu)>-1)b[i].checked=!b[i].checked;
    }
}
</script>

-- og så:
<form name="form1">
<a href="#" onclick="checkNu('modtager')">Alle modtagere</a><br>

<input type="checkbox" name="modtager[0]" value="KarlBay">KarlBay<br>
<input type="checkbox" name="modtager[1]" value="HansPeter">HansPeter<br>
<input type="checkbox" name="modtager[2]" value="Søren">Søren<br>
<input type="checkbox" name="modtager[3]" value="Lars">Lars<br>
<input type="checkbox" name="modtager[4]" value="Karl">Karl<br>
<input type="checkbox" name="modtager[5]" value="Bay">Bay<br>
<input type="checkbox" name="modtager[6]" value="Henriette">Henriette<br>
<input type="checkbox" name="modtager[7]" value="Morten">Morten<br>

<a href="#" onclick="checkNu('Kopi')">Alle kopi</a><br>

<input type="checkbox" name="Kopi[0]" value="KarlBay">KarlBay<br>
<input type="checkbox" name="Kopi[1]" value="HansPeter">HansPeter<br>
<input type="checkbox" name="Kopi[2]" value="Søren">Søren<br>
<input type="checkbox" name="Kopi[3]" value="Lars">Lars<br>
<input type="checkbox" name="Kopi[4]" value="Karl">Karl<br>
<input type="checkbox" name="Kopi[5]" value="Bay">Bay<br>
<input type="checkbox" name="Kopi[6]" value="Henriette">Henriette<br>
<input type="checkbox" name="Kopi[7]" value="Morten">Morten<br>

</form>
Avatar billede ossi Nybegynder
09. september 2003 - 16:13 #3
Af en eller anden underlig grund virker dette ikke - nogle forklaringer?
Avatar billede roenving Novice
09. september 2003 - 21:25 #4
Nu har jeg jo kun kigget på problemet med at adressere indekserede names -- men hvad mener du ?-)

-- jeg mener det fungerer jo udmærket !-)

-- har du andre problemer ?-)
Avatar billede ossi Nybegynder
09. september 2003 - 21:57 #5
Det er ikke det med navnene på boxene - alle boxe har nemlig samme navn - Delete[] - værdierne bliver angivet via Value attributten.

Problemet er kort sagt, at de ikke bliver checked af når man bruger koden :/
Avatar billede roenving Novice
09. september 2003 - 22:00 #6
onclick="checkNu('Delete')">
Avatar billede ossi Nybegynder
09. september 2003 - 22:10 #7
Virker ikke :/
Avatar billede roenving Novice
09. september 2003 - 22:12 #8
Hvis du tager den kode jeg har lagt og kopierer den direkte ind kan du se, at det virker !-)

-- ergo er der andre fejl, som jeg sæ'fø'li' ik' ka' gennemskue !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