Doormiddel van javascript voeg ik op sommige gedeeltes van een project dynamisch elementen toe, en hier zitten ook form elementen zoals een input (type checkbox) bij. Nu wil ik deze graag standaard aanvinken en zet dus meteen de waarde checked op true. Alles werkt prima oner IE en FF behalve het aanvinken van de checkbox; dit werkt in IE niet!
Nu heb ik vanalles geprobeerd:
Hieronder een testscript waarmee mn probleem reproduceerbaar is, het is niet direct vergelijkbaar met de echte code, maar is wel een goed testbestand
Nu heb ik vanalles geprobeerd:
- .checked = 'true';
- .checked = true;
- .setAttribute( 'checked', true );
- .setAttribute( 'checked', 'true' );
- Bovenstaande variaties met hoofdletter C
- GoT gezocht en gevonden
- Google gezocht maar niks behulpzaams gevonden
Hieronder een testscript waarmee mn probleem reproduceerbaar is, het is niet direct vergelijkbaar met de echte code, maar is wel een goed testbestand
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Testpage</title> <script type="text/javascript"> var insertId = 1; function testNode( parentNode ) { this.parentNode = parentNode; this.oCheckbox = document.createElement("input"); this.oCheckbox.id = 'check_' + insertId++; this.oCheckbox.type = 'checkbox'; this.oCheckbox.checked = true; this.parentNode.appendChild(this.oCheckbox); } </script> </head> <body> <h1>Testing checkboxes</h1> <div id="testArea"></div> <p onclick="document.getElementById('check_1').checked = true;" style="text-decoration:underline;">Check the first checkbox</p> <script type="text/javascript"> new testNode( document.getElementById('testArea') ); new testNode( document.getElementById('testArea') ); new testNode( document.getElementById('testArea') ); </script> </body> </html> |