Kolla här:
<html>
<head>
<title>xxx</title>
<script type="text/javascript">
var permissions = [
[0, 0, 0, 0, 0, 0, 1], // Adresser
[0, 0, 0, 0, 0, 1, 0], // Användare
[0, 0, 0, 0, 0, 1, 1], // Artiklar
[0, 0, 0, 0, 1, 0, 0], // Bildbank
[0, 0, 0, 0, 1, 0, 1], // Dokument
[0, 0, 0, 0, 1, 1, 1], // Gästbok
[0, 0, 0, 1, 0, 0, 0], // Inställningar
[0, 0, 0, 1, 0, 0, 1], // Kalendern
[0, 0, 0, 1, 0, 1, 0], // Nyheter
[0, 0, 0, 1, 0, 1, 1]]; // Ordlista
function updatePermissions(theForm){
for(var i=0; i<7; i++)
theForm.lbPermissions.options[i].selected = permissions[theForm.lbApplications.selectedIndex][i];
}
function storePermissions(theForm){
for(var i=0; i<7; i++)
permissions[theForm.lbApplications.selectedIndex][i] = (theForm.lbPermissions.options[i].selected) ? 1 : 0;
}
function sendPermissions(theForm){
for(var i=0; i<7; i++)
theForm.elements["perm"+i].value = permissions[i].join(",");
}
window.onload=function(){
updatePermissions(document.forms[0]);
}
</script>
</head>
<body>
<form onsubmit="sendPermissions(this)">
<input type="hidden" name="perm0" />
<input type="hidden" name="perm1" />
<input type="hidden" name="perm2" />
<input type="hidden" name="perm3" />
<input type="hidden" name="perm4" />
<input type="hidden" name="perm5" />
<input type="hidden" name="perm6" />
<input type="hidden" name="perm7" />
<input type="hidden" name="perm8" />
<input type="hidden" name="perm9" />
<h3>Redigera inställningar för "nyhetsredaktör"</h3>
<table>
<tr>
<th>Applikation</th>
<th>Behörighet</th>
</tr>
<tr>
<td>
<select name="lbApplications" onchange="updatePermissions(this.form)" size="10" id="lbApplications" style="width:300px;">
<option value="20" selected="selected">Adresser</option>
<option value="41">Användare</option>
<option value="17">Artiklar</option>
<option value="45">Bildbank</option>
<option value="39">Dokument</option>
<option value="32">Gästbok</option>
<option value="46">Inställningar</option>
<option value="23">Kalendern</option>
<option value="1">Nyheter</option>
<option value="24">Ordlista</option>
</select>
</td>
<td>
<select name="lbPermissions" size="10" onchange="storePermissions(this.form)" multiple="multiple" id="lbPermissions" style="width:300px;">
<option value="1">Läsa</option>
<option value="2">Lägg till ny post</option>
<option value="3">Redigera egen post</option>
<option value="4">Redigera annans post</option>
<option value="5">Ta bort egen post</option>
<option value="6">Ta bort annans post</option>
<option value="7">Publicera</option>
</select>
</td>
</tr>
</table>
<input type="submit" />
</form>
</body>
</html>
På mottagarsidan tar du emot de val man har gjort genom perm0, perm1, perm2, ..., perm9. De består av kommaseparerade listor där ett värde kan vara 1 eller 0. En etta betyder att fältet är valt och en nolla betyder att det inte är valt.
perm2=0,0,0,0,0,0,1 betyder alltså att för Artiklar är endast Publicera valt.