18. november 2006 - 23:59
Der er
12 kommentarer og 2 løsninger
Hvilke checkbokse er markeret?
Hej, Jeg har søger efter et script som "live" kan se hvilke checkbokse der er markeret. Med live mener jeg uden at skulle opdatere siden først, eller trykke på en submit knap. Er det overhoved muligt? Eks. Jeg har 3 checkbokse <input type='checkbox' name='nr1' value ='nr1'> <input type='checkbox' name='nr2 value ='nr2'> <input type='checkbox' name='nr3' value ='nr3'> Når jeg klikker den første checkbox, skrives der straks på siden: "checkbox nr1 er klikket" Er dette muligt?
Annonceindlæg fra Deloitte
19. november 2006 - 00:11
#1
måske noget i denne stil: <SCRIPT> function checked(field) { if (field.checked) { document.form.hvad.value = field.Name + " er markeret";} else { document.form.hvad.value = "";} } </SCRIPT <form name="form"> <input type='checkbox' name='nr1' onClick="if (this.checked) checked(this)" value ='nr1'> <input type='checkbox' name='nr2 onClick="if (this.checked) checked(this)" value ='nr2'> <input type='checkbox' name='nr3' onClick="if (this.checked) checked(this)" value ='nr3'> <input type="text" name="hvad" readonly value=""> </form> så skulle det gerne skrives i det textfelt jeg har sat i bunden. kan eventuelt laves om, så det skrives på en div i stedet eller tilsvarende...
19. november 2006 - 12:41
#2
Det virker desværre ikke helt efter hensigten :) Følgende giver fejlen "Object does not support this action" <SCRIPT> function checked(field) { if (field.checked) { document.formnavn.hvad.value = field.Name + " er markeret";} else { document.formnavn.hvad.value = "";} } </SCRIPT> <form name="formnavn"> <input type='checkbox' name='nr1' onClick="if (this.checked) checked(this)" value ='nr1'> <input type='checkbox' name='nr2' onClick="if (this.checked) checked(this)" value ='nr2'> <input type='checkbox' name='nr3' onClick="if (this.checked) checked(this)" value ='nr3'> <input type="text" name="hvad" readonly value=""> </form>
19. november 2006 - 16:20
#3
hehe..... tror det er fordi checked allerede findes i forvejen. <SCRIPT> function testfunc(field) { if (field.checked) { document.formnavn.hvad.value = field.Name + " er markeret";} else { document.formnavn.hvad.value = "";} } </SCRIPT> <form name="formnavn"> <input type='checkbox' name='nr1' onClick="if (this.checked) testfunc(this)" value ='nr1'> <input type='checkbox' name='nr2' onClick="if (this.checked) testfunc(this)" value ='nr2'> <input type='checkbox' name='nr3' onClick="if (this.checked) testfunc(this)" value ='nr3'> <input type="text" name="hvad" readonly value=""> </form>
20. november 2006 - 01:55
#4
Lige et par uhensigtsmæssigheder og en direkte alvorlig fejl: <script type="text/javascript"> function testfunc(field) { if (field.checked) { document.formnavn.hvad.value = field.name + " er markeret";} else { document.formnavn.hvad.value = "";} } </script> <form name="formnavn"> <input type='checkbox' name='nr1' onclick="testfunc(this)" value ='nr1'> <input type='checkbox' name='nr2' onclick="testfunc(this)" value ='nr2'> <input type='checkbox' name='nr3' onclick="testfunc(this)" value ='nr3'> <input type="text" name="hvad" readonly value=""> </form> -- et script-tag _skal_ indeholde en type-attribut ... -- i javascript _skal_ alle standard-attributter adresseres med små bogstaver, og da js er case-sensitivt, vil .Name bare give 'undefined' !-) -- og hvis du i funktionen tester, er det bare dobbelt-konfekt også at teste det i onclick-eventen ...
20. november 2006 - 09:11
#5
Tak for rettelser. Er det muligt at få skrevet under hinandne evt. i en div hvilke check boxe der er markeret? Altså: nr1 er markeret nr3 er markeret Og fjerne dem igen når de afmarkeres igen?
22. november 2006 - 10:56
#6
Ja, men så har vi en helt anden opgave: <script type="text/javascript"> function testfunc(field) { var e = field.form.elements, txt=""; for(i=0,im=e.length;im>i;i++){ if(e[i].checked){ txt += e[i].name + " er markeret<br>"; } } document.getElementById("hvad").innerHTML = txt ? txt : "Ingen markeret"; } </script> <form name="formnavn"> <input type='checkbox' name='nr1' onclick="testfunc(this)" value ='nr1'> <input type='checkbox' name='nr2' onclick="testfunc(this)" value ='nr2'> <input type='checkbox' name='nr3' onclick="testfunc(this)" value ='nr3'> <div id="hvad">Ingen markeret</div> </form> -- jeg var en anelse doven, så jeg brugte bare innerHTML, selvom den ikke findes !-)
22. november 2006 - 15:28
#7
Fornemt, mange tak. Svar gerne
22. november 2006 - 23:59
#8
Tjah, ellebaek løste jo den oprindelige opgave ...
25. november 2006 - 15:38
#9
Så må vi have ellebaek til at smide et svar også :)
25. november 2006 - 16:31
#10
Hehe :-) okay, det er jeg ellers ikk meget for når jeg smider koder med fejl i jo?? Synes egentlig du skal have dem roenving, men smider da et svar alligevel, så bestemmer du peter.!
27. november 2006 - 02:41
#11
-- og dovenskab kan jo kureres: <script type="text/javascript"> function testfunc(field) { var e = field.form.elements, txt=[]; for(i=0,im=e.length;im>i;i++){ if(e[i].checked){ txt.push(e[i].name + " er markeret"); } } var elm = document.getElementById("hvad"); while(elm.childNodes.length > 1) elm.removeChild(elm.childNodes[1]); if(txt.length>1){ elm.firstChild.nodeValue = txt[0]; for(i=1,im=txt.length;im>i;i++){ elm.appendChild(document.createElement("br")); elm.appendChild(document.createTextNode(txt[i])); } }else elm.firstChild.nodeValue = txt.length == 1 ? txt[0] : "Ingen markeret"; } </script> <form name="formnavn"> <input type='checkbox' name='nr1' onclick="testfunc(this)" value ='nr1'> <input type='checkbox' name='nr2' onclick="testfunc(this)" value ='nr2'> <input type='checkbox' name='nr3' onclick="testfunc(this)" value ='nr3'> <div id="hvad">Ingen markeret</div> </form> -- og så kan vi jo se, om ikke peter lige kan finde et par ekstra point, så ellebaek kan få sin rimelige betaling !-) Velbekomme '-)
27. december 2006 - 22:16
#12
Øv! Kom vej en fejl til at svare. Svar venligst her også, så ingen er snydt! :)
27. december 2006 - 22:16
#13
28. december 2006 - 05:55
#14
-- og tak for point ;~}
Vi tilbyder markedets bedste kurser inden for webudvikling