03. maj 2005 - 23:01Der er
7 kommentarer og 1 løsning
check/uncheck en række checkboxes
Hej!
Følgende slamkode afkrydser checkboxes i IE. Hvordan skal det se ud hvis det skal fungere via DOM og i andre browsere?
Jeg er med på at ID bør være forskellig fra element til element, men det er acceptabelt at de ikke er i dette script. Navnet på checkboxene skal dog være et array da de skal aflæses med PHP.
<script type="text/javascript"> var checkflag = "false"; function SetCheckboxes() {
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Slettet bruger
03. maj 2005 - 23:11#1
Fandt svaret på det, men havde faktisk givet op :)
<script type="text/javascript"> function SetAllCheckBoxes(FormName, FieldName, CheckValue) { if(!document.forms[FormName]) return; var objCheckBoxes = document.forms[FormName].elements[FieldName]; if(!objCheckBoxes) return; var countCheckBoxes = objCheckBoxes.length; if(!countCheckBoxes) objCheckBoxes.checked = CheckValue; else // set the check value for all check boxes for(var i = 0; i < countCheckBoxes; i++) objCheckBoxes[i].checked = CheckValue; } // --> </script>
<form method="GET" action="page17.php" name="myForm" onsubmit="return false;"> <label for="myCheckbox1"> <input type="checkbox" name="myCheckbox[]" value="1" id="myCheckbox1"> I like Britney Spears </label> <br> <label for="myCheckbox2"><input type="checkbox" name="myCheckbox[]" value="2" id="myCheckbox2"> I like Hillary Duff </label> <br> <label for="myCheckbox3"><input type="checkbox" name="myCheckbox[]" value="3" id="myCheckbox3"> I like Mandy Moore </label> <br><input type="button" onclick="SetAllCheckBoxes('myForm', 'myCheckbox[]', true);" value="I like them all!"> <input type="button" onclick="SetAllCheckBoxes('myForm', 'myCheckbox[]', false);" value="I don't like any of them!"> </form>
Du kan stadig få point, da din kode er noget bedre end den anden, men jeg vil gerne have det til at blive aktiveret ved onclick på et link hvis det er muligt :)
Lige en helt anden ting, hvis du har dine checkboxes i tabeller eller andre elementer, vil de ikke direkte være Childs af Formen, og det kan egentligt godt være du skal bruge form.elements i stedet for form.childNodes, du kan stadig tjekke om de er et INPUT og checkbox element på samme måde.
frm.childNodes kan bare skiftes ud med frm.elements Du kan også give hver checkbox en klasse, f.eks. class="doCheck", og så tjekke om det er den rigtige klasse inden du slår dem til eller fra, hvis du nu har andre bokse der ikke skal være med i det :)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.