JS禁用頁面上所有控件的實(shí)現(xiàn)方法(附demo源碼下載)
本文實(shí)例講述了JS禁用頁面上所有控件的實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
利用頁面元素的特征,可以捕捉到所有元素。
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也禁用掉,可以將注釋去掉。
調(diào)用代碼:
假設(shè)有個name為formeditor的form,調(diào)用方法如下:
var myForm=document.forms["formEditor"]; DisableElements(myForm,'true');
完整實(shí)例代碼點(diǎn)擊此處本站下載。
希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。
- 禁用頁面部分JavaScript不是全部而是部分
- 禁用Tab鍵JS代碼兼容Firefox和IE
- javascript怎么禁用瀏覽器后退按鈕
- 禁用JavaScript控制臺調(diào)試的方法
- 利用javascript實(shí)現(xiàn)禁用網(wǎng)頁上所有文本框,下拉菜單,多行文本域
- javascript禁用Tab鍵腳本實(shí)例
- js禁止頁面復(fù)制功能禁用頁面右鍵菜單示例代碼
- 為radio類型的INPUT添加客戶端腳本(附加實(shí)現(xiàn)JS來禁用onClick事件思路代碼)
- js 禁用只讀文本框獲得焦點(diǎn)時的退格鍵
- JS input文本框禁用右鍵和復(fù)制粘貼功能的代碼
相關(guān)文章
解決layui的使用以及針對select、radio等表單組件不顯示的問題
今天小編就為大家分享一篇解決layui的使用以及針對select、radio等表單組件不顯示的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
javascript同頁面多次調(diào)用彈出層具體實(shí)例代碼
一個在同一個頁面可多次調(diào)用的javascript彈出層效果,有需要的同學(xué)可以參考一下2013-08-08
JS使用window.requestAnimationFrame()實(shí)現(xiàn)逐幀動畫
這篇文章介紹了JS使用window.requestAnimationFrame()實(shí)現(xiàn)逐幀動畫的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06

