Hej! Gör ett test där du kollar värdet på form.id.length vid olika tillfällen. Den hämtar alla värden ifrån en databas så det är id numrerna som är värde. Nä, det blir samma fel då också. Eller rättare sagt, meddelandet kommer upp fastän man har kryssat i rutan. Gör så här: checkbox!
Jag har ett stort problem när det gäller en checkbox. Har de inte valt någon trycksak ska nedanstående göras.
Beroende på från vilken sida användare kommer ifrån så visas det olika många, checkbox koden är i en loop. Koden fungerar när det är mer än en trycksak som visas. Men när det bara är en enda, så fungerar det inte fastän man bockar för checkboxen. Någon som kan hjälpa mig vore jag jätte tacksam
Så här ser koden ut.
<script language="JavaScript">
<!--
function checkform(form){
checked = false
for(i=0;i<form.id.length;i++) {
if(form.id[i].checked)
checked = true
}
if(!checked) {
alert("Du måste välja en trycksak!");
form.id.focus();
return;
}
form.submit();
}
//-->
</script>
MvH
MiaSv: checkbox!
Om den har värdet 0 när det är bara är en checkbox så beror det på det. Prova också att testa att skriva ut värdet på alla checkboxar vid olika tillfällen. Koden är ju så kort och koncis så det verkar ju inte vara den som är problemet...
/Niklas JanssonSv: checkbox!
Testade med length - 1 men det fungerade inte, det blir samma fel.
MvH
MiaSv: checkbox!
MiaSv: checkbox!
Skriv ut all information (till ett annat fönster eller hur du nu vill).
form.id.length före loopen och
form.id[i].checked för alla i. (samt annan information som du kan få fram om form.id[i] )
testa med att starta olika sidor (jag vet inte hur dina sidor fungerar, men använd det i en med ganska få kryssrutor och en med många).
Prova att markera bara sista alternativet eller bara första alternativet i en sida med några stycken kryssrutor.
Du måste veta vad som händer när koden exekveras under olika förhållanden.
/Niklas Jansson