05. februar 2008 - 15:55
Der er
7 kommentarer
lav et check på om en checkbox er krydset af
Hey alle... Har 5 forskellige checkboxes.... de 3 af dem hedder Handboox1 Handbook2 Handbook 3 og resten hedder Brochure 1-2 Derudover har jeg en masse text felter i min form også, det har jeg noget validering på, men skal også have noget validering på checkboxene... Det validering der skal være er at bare minimum 1 af checkboxene inde i en bestemt DIV skal være krydset af... Mit script ser sådan ud: function validering_kraevet(field,alerttxt) { with(field) { if(value==null||value==""){ alert(alerttxt); return false; } else { return true; } } } function validering_emails(field, field2, alerttxt) { if(field.value != field2.value){ alert(alerttxt); return false; } else { return true; } } function valider_form(thisform, errortext){ with(thisform) { //alert(errortext); if(validering_kraevet(FirstName, errortext)==false) { FirstName.focus(); setClassName("FirstName", "error"); FirstName.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(LastName, errortext)==false) { LastName.focus(); setClassName("LastName", "error"); LastName.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(Company, errortext)==false){ Company.focus(); setClassName("Company", "error"); Company.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(PostalAddress, errortext)==false){ PostalAddress.focus(); setClassName("PostalAddress", "error"); PostalAddress.border="2px solid #ff0000"; return false; } if(validering_kraevet(Postcode, errortext)==false){ Postcode.focus(); setClassName("Postcode", "error"); Postcode.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(City, errortext)==false){ City.focus(); setClassName("City", "error"); City.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(Phone, errortext)==false){ Phone.focus(); setClassName("Phone", "error"); Phone.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(Email, errortext)==false){ Email.focus(); setClassName("Email", "error"); Email.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(EmailRepeat, errortext)==false){ EmailRepeat.focus(); setClassName("EmailRepeat", "error"); EmailRepeat.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(CompanyCategory, errortext)==false){ CompanyCategory.focus(); setClassName("CompanyCategory", "error"); CompanyCategory.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(JobFunction, errortext)==false){ JobFunction.focus(); setClassName("JobFunction", "error"); Jobfunction.style.border="2px solid #ff0000"; return false; } if(validering_emails(EmailRepeat, Email, "Emails doesnt match")==false){ EmailRepeat.focus(); setClassName("EmailRepeat", "error"); EmailRepeat.style.border="2px solid #ff0000"; return false; } } } function setClassName(objId, className) { document.getElementById(objId).className = className; } function change(state, objId){ //alert(objId); var retVal = false; var k = parseInt(document.getElementById("numofcheck").value); for(var m = 1; m <= k; m++) { var _temp = "Handbook"+m.toString(); if(document.getElementById(_temp).checked){ retVal = true; break; } } if(retVal == true) { document.getElementById("Signup").checked=true; document.getElementById("Signup").disabled=true; } else { document.getElementById("Signup").checked=false; document.getElementById("Signup").disabled=false; } }
Annonceindlæg fra Computerworld it-jobbank
Mød 3.500+ it-talenter på IT-DAY 2026
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
05. februar 2008 - 16:37
#1
Evt. noget i stil med: ---------------------- var elm=document.getElementById("div-id").getElementsByTagName("input"); var checked=false; for(i=0;i<elm.length;i++){ if(elm[i].getAttribute("type")=="checkbox"&&elm[i].checked)checked=true } if(checked){ alert("Du har ikke krydset nogle af checkboksene af!"); return false }
06. februar 2008 - 00:39
#2
Vel !checked ?-) -- og jeg plejer noget i stil med: var elm=document.getElementById("div-id").getElementsByTagName("input"); var chckd=false; for(i=0,im=elm.length;im>i;i++) chckd = chckd || elm[i].getAttribute("type")=="checkbox"&&elm[i].checked; if(!checked){ alert("Du har ikke krydset nogle af checkboksene af!"); return false; }
06. februar 2008 - 07:57
#3
Nå ja. =) Og ja, det er noget smartere.
06. februar 2008 - 11:42
#4
Ok, jamen hvordan implementerer jeg det så i det nuværende, har prøvet, men det funger ikke helt... function valider_form(thisform, errortext){ with(thisform) { var elm=document.getElementById("orderhandbookcats").getElementsByTagName("input"); var chckd=false; for(i=0,im=elm.length;im>i;i++) chckd = chckd || elm[i].getAttribute("type")=="checkbox"&&elm[i].checked; if(!checked){ alert("Du har ikke krydset nogle af checkboksene af!"); return false; } //alert(errortext); if(validering_kraevet(FirstName, errortext)==false) { FirstName.focus(); setClassName("FirstName", "error"); FirstName.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(LastName, errortext)==false) { LastName.focus(); setClassName("LastName", "error"); LastName.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(Company, errortext)==false){ Company.focus(); setClassName("Company", "error"); Company.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(PostalAddress, errortext)==false){ PostalAddress.focus(); setClassName("PostalAddress", "error"); PostalAddress.border="2px solid #ff0000"; return false; } if(validering_kraevet(Postcode, errortext)==false){ Postcode.focus(); setClassName("Postcode", "error"); Postcode.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(City, errortext)==false){ City.focus(); setClassName("City", "error"); City.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(Phone, errortext)==false){ Phone.focus(); setClassName("Phone", "error"); Phone.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(Email, errortext)==false){ Email.focus(); setClassName("Email", "error"); Email.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(EmailRepeat, errortext)==false){ EmailRepeat.focus(); setClassName("EmailRepeat", "error"); EmailRepeat.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(CompanyCategory, errortext)==false){ CompanyCategory.focus(); setClassName("CompanyCategory", "error"); CompanyCategory.style.border="2px solid #ff0000"; return false; } if(validering_kraevet(JobFunction, errortext)==false){ JobFunction.focus(); setClassName("JobFunction", "error"); Jobfunction.style.border="2px solid #ff0000"; return false; } if(validering_emails(EmailRepeat, Email, "Emails doesnt match")==false){ EmailRepeat.focus(); setClassName("EmailRepeat", "error"); EmailRepeat.style.border="2px solid #ff0000"; return false; } } }
06. februar 2008 - 13:33
#5
Der mangler en return true nederst: if(validering_emails(EmailRepeat, Email, "Emails doesnt match")==false){ EmailRepeat.focus(); setClassName("EmailRepeat", "error"); EmailRepeat.style.border="2px solid #ff0000"; return false; } } return true; }
13. februar 2008 - 16:16
#6
Kommet videre her?
24. april 2008 - 12:07
#7
Lukketid?
Vi tilbyder markedets bedste kurser inden for webudvikling