禁用页面上所有控件

 

利用页面元素的特征,可以捕捉到所有元素。

 

function DisableElements(container,blnHidenButton)
{
	if (!container) 
	return;
	var aEle;
	if (navigator.appName =="Microsoft Internet Explorer")  //IE
	{
		for (var i=0;i<container.all.length;i++)
		{
			aEle = container.all[i];
			tagName = aEle.tagName.toUpperCase();
			if ((tagName=="SELECT"))
			{
				aEle.disabled = true;
				if(tagName=="BUTTON" && blnHidenButton)
				{
					//aEle.style.display = "none";//对button不做处理
				}
			}
			else if (tagName=="INPUT") 
			{
				if (aEle.type.toUpperCase()!="HIDDEN")
				{
					if (aEle.type.toUpperCase()=="TEXT") 
					{
						ReadonlyText(aEle);
					}
					else if (aEle.type.toUpperCase()=="BUTTON") 
					{
						//do nothing;
					}
					else
					{
						aEle.disabled = true;
					}
				}
				if((aEle.type.toUpperCase()=="BUTTON"||aEle.type.toUpperCase()=="SUBMIT") && blnHidenButton)
				{
					//aEle.style.display = "none";//对button不处理
				}
			}
			else if (tagName=="TEXTAREA") 
			{
				ReadonlyText(aEle);
			}
		}
	}
	else//非IE浏览器
	{
		var aEle = container.getElementsByTagName("select");
		for (var i=0;i< aEle.length;i++)
		{
			aEle[i].disabled = true;
		}
		
		aEle = container.getElementsByTagName("button");
		for (var i=0;i< aEle.length;i++)
		{
			aEle[i].disabled = true;
		}
		
		aEle = container.getElementsByTagName("textarea");
		for (var i=0;i< aEle.length;i++)
		{
			ReadonlyText(aEle[i]);
		}
		
		aEle = container.getElementsByTagName("input");
		for (var i=0;i< aEle.length;i++)
		{
			if (aEle[i].type.toUpperCase()!="HIDDEN")
			{
				if (aEle[i].type.toUpperCase()=="TEXT")
				{
					ReadonlyText(aEle[i]);
				}
				else
				{
					aEle[i].disabled = true;
				}
			}
			if((aEle[i].type.toUpperCase()=="BUTTON"||aEle[i].type.toUpperCase()=="SUBMIT")&&blnHidenButton)
			{
				aEle[i].style.display = "none";
			}
		}
	}
}
	
	
	
function ReadonlyText(objText)
{
	 
	if (objText){
		//objText.style.backgroundColor = "menu";
		objText.style.background = "#E6E6E6";
		//objText.style.color = "black";
		objText.readOnly=true;
	}
}

 

效果非常好,我这里将button全部保留了,如果想将button也禁用掉,可以将注释去掉。

 

调用代码:

假设有个name为formeditor的form,调用方法如下:

 

var myForm=document.forms["formEditor"];
DisableElements(myForm,'true');

 

refurl:http://download.csdn.net/download/zpengnet/2579180

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值