最近作的一个项目,在处理权限问题时,我采用了下面的思路来处理:如果某用户没有权限进行修改,只有只读权限时,禁用表单便可解决问题(这个项目的前提是不存在信任度问题,禁用表单只是为了避免误操作.客户端的script脚本是无法真正意义上的解决权限问题的):
1.禁用某个表单
- function disform(formname){
- var frm=document.forms[formname];
- for (var i=0;i<frm.elements.length;i++)
- {
- var e=frm.elements[i];
- e.disabled = true;
- }
- }
2.允许某个表单
- function enableform(formname){
- var frm=document.forms[formname];
- for (var i=0;i<frm.elements.length;i++)
- {
- var e=frm.elements[i];
- e.disabled = false;
- }
- }
3.禁用所有表单
- function disallform(){
- var obj=document.all.tags("form");
- //alert(obj[0].name);
- for (var i=0;i<obj.length;i++)
- {
- e=obj[i].name;
- disform(e);
- }
- }
灵活组合上述三个函数,便可解决问题:
禁用所有表单,采用第三个函数;禁用表单少的情况,采用第一个函数;多数表单禁用而允许少量表单时,先用第三个函数禁用所有表单,再用第二个函数为个别允许的表单解锁即可.