Guten Morgen 
Ich habe folgendes Script, dass aus den Werten eines binären Rechte-Systems die Check-Boxen mit den jewiligen Rechten ankreuzt.
Checkbox 1 value="1" (News schreiben), Berechtigung 1 aus Datenbank übergeben, CHeckbox 1 wird angekreuzt. Dieses Script hängt sich jedoch auf.
SCript:
Alles anzeigen
HTML:
Alles anzeigen

Ich habe folgendes Script, dass aus den Werten eines binären Rechte-Systems die Check-Boxen mit den jewiligen Rechten ankreuzt.
Checkbox 1 value="1" (News schreiben), Berechtigung 1 aus Datenbank übergeben, CHeckbox 1 wird angekreuzt. Dieses Script hängt sich jedoch auf.
SCript:
Quellcode
- function getCheckboxByValue(v) {
- var inputs = document.getElementsByTagName('input');
- for (var i = 0; i < inputs.length; i ++) {
- if (inputs[i].type == 'checkbox' && inputs[i].value == v) {
- return inputs[i];
- }
- }
- return false;
- }
- window.onload = function(){
- var select_input = document.getElementById('defined');
- select_input.onchange = function(){
- var perms = this.value;
- var pow = 1;
- while(1)
- {
- var box = getCheckboxByValue(pow);
- if(box){
- box.checked = ((perms & pow) == pow) ? true : false;
- }
- var pow = Math.pow(pow, 2);
- }
- while(getCheckboxByValue(pow).length);
- };
- };
HTML:
HTML-Quellcode
- <form action="team.php?job=add" method="POST" id="add_user">
- Username:<input type="text" name="username" id="username" />Titel:<input type="text" name="title" id="title">Vordefinierte:<select id="defined"><option></option><option value="511">Admin</option></select><br><br>
- <table id="rights_select" border="0">
- <tr>
- <td class="first">News schreiben:</td><td class="boxes"><input type="checkbox" name="rights[]" value="1"></td>
- <td class="second">User hinzufügen:</td><td class="boxes"><input type="checkbox" name="rights[]" value="8"></td>
- <td class="third">Team-Mitglied hinzufügen:</td><td class="boxes"><input type="checkbox" name="rights[]" value="64"></td>
- </tr>
- <tr>
- <td>News editieren:</td><td class="boxes"><input type="checkbox" name="rights[]" value="2"></td>
- <td class="second">User bearbeiten:</td><td class="boxes"><input type="checkbox" name="rights[]" value="16"></td>
- <td class="third">Team-Mitglied bearbeiten:</td><td class="boxes"><input type="checkbox" name="rights[]" value="128"></td>
- </tr>
- <tr>
- <td>News löschen:</td><td class="boxes"><input type="checkbox" name="rights[]" value="8"></td>
- <td class="second">User bannen:</td><td class="boxes"><input type="checkbox" name="rights[]" value="32"></td>
- <td class="third">Team-Mitglied löschen:</td><td class="boxes"><input type="checkbox" name="rights[]" value="256"></td>
- </tr>
- </table>
- <input type="submit" id="submit" value="Hinzufügen">
- </form>