JS禁用页面上所有控件的实现方法(附demo源码下载)
本文实例讲述了JS禁用页面上所有控件的实现方法。分享给大家供大家参考,具体如下:
利用页面元素的特征,可以捕捉到所有元素。
functionDisableElements(container,blnHidenButton)
{
if(!container)
return;
varaEle;
if(navigator.appName=="MicrosoftInternetExplorer")//IE
{
for(vari=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不做处理
}
}
elseif(tagName=="INPUT")
{
if(aEle.type.toUpperCase()!="HIDDEN")
{
if(aEle.type.toUpperCase()=="TEXT")
{
ReadonlyText(aEle);
}
elseif(aEle.type.toUpperCase()=="BUTTON")
{
//donothing;
}
else
{
aEle.disabled=true;
}
}
if((aEle.type.toUpperCase()=="BUTTON"||aEle.type.toUpperCase()=="SUBMIT")&&blnHidenButton)
{
//aEle.style.display="none";//对button不处理
}
}
elseif(tagName=="TEXTAREA")
{
ReadonlyText(aEle);
}
}
}
else//非IE浏览器
{
varaEle=container.getElementsByTagName("select");
for(vari=0;i<aEle.length;i++)
{
aEle[i].disabled=true;
}
aEle=container.getElementsByTagName("button");
for(vari=0;i<aEle.length;i++)
{
aEle[i].disabled=true;
}
aEle=container.getElementsByTagName("textarea");
for(vari=0;i<aEle.length;i++)
{
ReadonlyText(aEle[i]);
}
aEle=container.getElementsByTagName("input");
for(vari=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";
}
}
}
}
functionReadonlyText(objText)
{
if(objText){
//objText.style.backgroundColor="menu";
objText.style.background="#E6E6E6";
//objText.style.color="black";
objText.readOnly=true;
}
}
效果非常好,我这里将button全部保留了,如果想将button也禁用掉,可以将注释去掉。
调用代码:
假设有个name为formeditor的form,调用方法如下:
varmyForm=document.forms["formEditor"]; DisableElements(myForm,'true');
完整实例代码点击此处本站下载。
希望本文所述对大家JavaScript程序设计有所帮助。