eller: <script type="text/javascript"> function checkBoxes(frm) { for (i=0;i<frm.length;i++) { if (frm.elements[i].type == "checkbox" && frm.elements[i].name.indexOf("b_redigere_s") != -1) { if (frm.elements[i].checked == true) {return true;} } } alert("Du skal checke mindst én af checkboxene"); return false; } </script>
<form onsubmit="return checkBoxes(this);">
Som jeg fik flikket sammen (forsent selvfølgelig ;-)
Javascript bruger 'short evaluation', så hvis sådan 3 elementer alle skal være sande for at returnere sand, og een af dem undervejs ikke er sand evaluerer den simpelthen ikke de resterende, da det jo alligevel ikke ændrer resultatet ...
-- og hvorfor spørger du iøvrigt om sand er lig med sand i forventning om at få svaret sand eller falsk ?-)
Hvis noget kan være true eller false, vil noget == true give samme resultat som at spørge på noget !-)
øhm, i hvilken sammenhæng gør jeg det - jeg stod lige af i farten ;-)
btw kunne du (bare for at give lidt igen ;-) skrive: for(i=0;e.length>i && chkd==false;i++){ så den ikke behøver løbe alle checkboxene igennem hele tiden (gør nok ikke den store forskel)
-- og jo, jeg kunne jo gøre som du gør (hvilket, jeg tror, er bedre end dit sidste forslag !-), som jeg forøvrigt heller ikke ville begynde at lave ekstra sammenligninger med:
for(i=0;e.length>i && !chkd;i++){
som alt andet lige sparer een sammenligning pr. tur !o]
nåå, det er det du mener, altså at der burde stå: if (frm.elements[i].checked) okay... viste ikke det gjorde nogen større forskel, men kan godt se din pointe.
<script type="text/javascript"> function checkBoxes(f){ e = f.elements; for(i=0;e.length>i;i++){ if(e[i].name.indexOf('b_redigere_s')>-1&&e[i].checked)return true; } alert('Du skal afkrydse mindst een checkbox'); return false; } </script>
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.