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程序设计有所帮助。