巧用div使页面内的标签禁用

最近工作中遇到要使页面中的一些模块整体禁用,有很多的方法,可用做一个DIV透明层来遮盖,但这样,还有些技术瓶颈,SELECT标签不能遮盖,

但用其他方法可用进行遮盖,但兼容性太差,后,还是使用基本方法,对每个标签进行禁用,但这样很是费时费力,效率不高,最后通过DIV划分模块,根据DIV来禁用,很是方便:

网上找到得相关代码:

 


<script>

function PanelEnable()

{

var obj = document.getElementById("divPanel");//得到DIV对象

var e = obj.getElementsByTagName("INPUT");//得到此DIV里的所有INPUT对象

for (var i=0; i<e.length; i++)

{

e[i].disabled = true;

}

}

PanelEnable();//禁用div下所有的INPUT,

</script>


 

 

根据工作的需要,进行了改进和扩展,代码如下:show_hidden_edit.js

 


//隐藏两项
function hiddenmodule(divid1,divid2)
{
for (i = 1; i < 3; i++) {
eval("divid"+i);
inputEnable(eval("divid"+i));//禁用div下所有的INPUT,
textareaEnable(eval("divid"+i));//禁用div下所有的textarea,
selectEnable(eval("divid"+i));//禁用div下所有的select,
imgEnable(eval("divid"+i));//隐藏div下所有的img
iframeEnable(eval("divid"+i));//div下所有的iframe切换到查看方式
}
}
//隐藏三项
function hiddenmodule(divid1,divid2,divid3)
{
for (i = 1; i <4; i++) {
eval("divid"+i);
inputEnable(eval("divid"+i));//禁用div下所有的INPUT,
textareaEnable(eval("divid"+i));//禁用div下所有的textarea,
selectEnable(eval("divid"+i));//禁用div下所有的select,
imgEnable(eval("divid"+i));//隐藏div下所有的img
iframeEnable(eval("divid"+i));//div下所有的iframe切换到查看方式
}
}
//禁用div下所有的INPUT
function inputEnable(inputid)
{
    var obj = document.getElementById(inputid);//得到DIV对象
    var e = obj.getElementsByTagName("INPUT");//得到此DIV里的所有INPUT对象
    for (var i=0; i<e.length; i++)
    {
        e[i].disabled = true;
    }
}
//禁用div下所有的textarea
function textareaEnable(textareaid)
{
    var obj = document.getElementById(textareaid);//得到DIV对象
    var e = obj.getElementsByTagName("textarea");//得到此DIV里的所有textarea对象
    for (var i=0; i<e.length; i++)
    {
        e[i].disabled = true;
    }
}
//禁用div下所有的select
function selectEnable(selectid)
{
    var obj = document.getElementById(selectid);//得到DIV对象
    var e = obj.getElementsByTagName("select");//得到此DIV里的所有select对象
    for (var i=0; i<e.length; i++)
    {
        e[i].disabled = true;
    }
}
//隐藏div下所有的img
function imgEnable(imgid)
{
    var obj = document.getElementById(imgid);//得到DIV对象
    var e = obj.getElementsByTagName("IMG");//得到此DIV里的所有IMG对象
    for (var i=0; i<e.length; i++)
    {
        e[i].style.display="none" ;
    }
}
function iframeEnable(iframeid)
{
    var obj = document.getElementById(iframeid);//得到DIV对象
    var e = obj.getElementsByTagName("iframe");//得到此DIV里的所有iframeid对象
   if(e.length>=1)
   {
   IframeOrHtml("1");
   }
}
//内容1查看状态与2编辑状态切换
function IframeOrHtml(or)
{
var a=document.getElementById("showiframe");
var b=document.getElementById("showhtml");
if(or=="1") 
{
a.style.display="none";
b.style.display="";
}else if(or=="2")
{
a.style.display="";
b.style.display="none" ;
}else{alert("IframeOrHtml调用参数错误!");}
}

页面调用:

<script type="text/javascript" src="xxx/js/show_hidden_edit.js"></script>
<script type="text/javascript" >
//根据节点ID隐藏模块
function selectjdid()
{
if(<%=jdid%>==0)
{
hiddenmodule("backinfo","passinfo");//隐藏模块DIV的ID
}else if(<%=jdid%>==1){
hiddenmodule("edit","passinfo");
}else if(<%=jdid%>==2){
hiddenmodule("edit","backinfo");
}else if(<%=jdid%>==3){
hiddenmodule("edit","backinfo","passinfo");
}
}
</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值