06. november 2007 - 09:48
Der er
4 kommentarer og 1 løsning
valider checkbox fejler hvis der kun er en
Hej har fået bakset dette sammen: function my_box(formnavn,feltnavn){ var navn = document.forms[formnavn]; var ch = navn.elements[feltnavn]; var antal = ch.length; for(i=0;antal>i;i++){ if(ch[i].checked) { return true; } } alert('Marker mindst en checkbox for at submitte!'); return false; } Virker fint hvis der er to eller flere checkboxe, men fejler ved en checkbox Så bliver antal sat til undefined. Hvad er det jeg ikke lige ved?
Annonceindlæg tema
06. november 2007 - 09:50
#1
ch bliver ikke et array, hvis der kun er een. Men giver du bare alle checkboxe samme navn?
06. november 2007 - 09:56
#2
del_mess[] er navnet på alle. Bruger php til at slette i db ved submit.
06. november 2007 - 10:24
#3
Synes det er lidt underligt at man ikke kan få et array hvis der kun er en? Men det blev så så'n: function my_box(formnavn,feltnavn){ var navn = document.forms[formnavn]; var ch = navn.elements[feltnavn]; var antal = ch.length; if(antal == undefined) { if(ch.checked) { return true; } }else{ for(i=0;antal>i;i++){ if(ch[i].checked) { return true; } } } alert('Marker mindst en checkbox for at submitte!'); return false; }
06. november 2007 - 10:24
#4
Ok, men så må du tjekke om det er et array, og bruge den kode du, og ellers er der præcis een checkbox i ch. (eller lave det helt om...) Du kan bruge function isArray(obj) { if (obj.constructor.toString().indexOf("Array") == -1) return false; else return true; }
06. november 2007 - 10:43
#5
Takker for input, og ved du ikke vil ha' point!
Vi tilbyder markedets bedste kurser inden for webudvikling