`
wandejun1012
  • 浏览: 2738286 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

禁用页面上所有控件

    博客分类:
  • JS
 
阅读更多

 

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

 

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

 

 

分享到:
评论

相关推荐

    JS禁用页面上所有控件的实现方法(附demo源码下载).docx

    总结起来,禁用页面上所有控件的核心思想是遍历所有相关元素,并修改它们的`disabled`属性。在不同的浏览器环境下,可能需要采用不同的方法来获取元素集合。此外,如果希望在禁用控件的同时保持其视觉状态不变,可以...

    JS禁用页面上所有控件的实现方法(附demo源码下载)

    在JavaScript中,禁用页面上所有控件是一个常见的需求,特别是在需要锁定用户界面或执行某些操作时。这个过程涉及到对不同类型的HTML元素进行遍历,并分别设置它们的`disabled`属性来达到禁用的效果。本篇文章将深入...

    JS禁用页面所有控件

    DisableAllElements.js 把代码附加页面代码的最后,会禁用页面所有控件,具体细节可以自行修改。

    C# 批量设置WinForm界面上的所有控件不可编辑

    本例中,为WinForm提供方法,批量设置其界面上所有的控件为不可编辑状态 方法: SetReadOnly( Control.ControlCollection , List, Boolean&gt;&gt; , List) 说明: 当窗体内的控件存在[ReadOnly]属性时,只设置...

    在此页面上的activex控件和本页上的其他控件的交互可能不安全

    3. **禁用不信任的控件**:默认情况下禁用所有ActiveX控件,只在确认安全的情况下启用特定控件。 4. **定期更新和维护**:及时更新控件和浏览器,修复已知的安全漏洞。 5. **教育用户**:提高用户的安全意识,让他们...

    Tab控件的使用方法及禁用某一页的方法

    在Windows编程或者Web开发中,Tab控件是一种常见的用户界面元素,它允许用户在不同的页面或选项卡之间切换,以展示不同的内容。本教程将详细讲解Tab控件的使用方法以及如何禁用其中的某一页。 一、Tab控件的基本...

    选项卡的禁用

    如果想禁用或启用特定的页面,而不是整个控件,可以通过索引来访问和修改每个页面的“Enabled”属性。首先,使用属性节点获取选项卡的“Page Count”,然后根据需要的索引值(从0开始)再次使用属性节点访问并修改...

    浅谈EasyUI常用控件的禁用方法

    //禁用除button和hidden控件外的所有input控件 $('textarea').prop('disabled', true); radio和checkbox: $('input:radio[name="radioname"]').prop('disabled', true); $('input:checkbox[name="checkbox

    网站页面日期控件

    网站页面上的日期控件是一种常见的交互元素,它允许用户在网页上方便地选择或输入日期。这种控件在各种类型的网站上广泛应用,如在线预订系统、日历应用、数据分析平台等,极大地提升了用户体验。日期控件的设计和...

    通过web页面读身份证的控件

    在IT行业中,通过Web页面读取身份证的控件是一种常见的技术解决方案,特别是在身份验证和信息录入的场景下。本文将详细解析这一技术的核心知识点,并基于给出的“通过web页面读身份证的控件”标题和描述,以及“ocx ...

    ScriptManager和UpdatePanel控件实现页面异步局部更新效果

    4. 在代码-behind中处理触发事件,更新数据并反映在UpdatePanel内的控件上。 通过这种方式,用户在交互时只会看到局部内容的变化,而无需等待整个页面刷新,从而提高了页面的响应速度和用户的交互体验。 总的来说...

    asp.net验证控件问题

    `Page_Validators`数组包含了页面上所有验证控件,`Page_ValidationActive`则指示验证功能是否开启。`ValidatorEnable(val, enable)`方法允许在客户端启用或禁用指定验证控件的验证功能。 例如,要禁用一个特定的...

    JavaScript 页面日历控件

    JavaScript 页面日历控件是一种常见的前端交互元素,用于在网页上显示日期选择功能,常见于事件安排、在线预订或表单填写等场景。这个控件是开发者在项目实践中提炼出来的一种简洁、美观且实用的解决方案。 日历...

    jsp页面文本编辑控件

    **JSP页面文本编辑控件**是Web开发中常用的一种组件,主要用于在网页上实现文本的编辑和格式化。在HTML或JSP页面中嵌入这样的控件,可以让用户在浏览器端直接对文本进行创建、修改和保存操作,类似于我们常见的富...

    asp.net web页面电子称串口控件完整使用方法

    ASP.NET Web 页面中的电子称串口控件是用于在网页上与硬件设备,如电子称进行通信的一种技术。这种控件通常使用ActiveX技术,允许客户端浏览器与串口设备交互,实现数据的读取和控制。本文将详细介绍如何在ASP.NET...

    asp.net 简单实现禁用或启用页面中的某一类型的控件

    在ASP.NET开发中,有时我们需要根据特定的业务逻辑控制页面上控件的可用性,例如在用户提交表单时禁用按钮以防止重复提交。本文将详细介绍如何简单实现禁用或启用页面中某一类型控件的功能。 首先,我们定义一个...

    QT分页控件源码,实现上下页跳转,包含调用实例

    首先,QT分页控件通常是基于Qwidget或Qdialog等基本控件进行扩展的,它提供了一个简洁的用户界面,可以轻松地在多个页面之间切换。在描述中提到的"qt源码分页控件"可能是开发人员自定义的一个类,它封装了分页逻辑,...

    Web控件和母版页Web控件和母版页

    同时,内容页面可以添加自己的Web控件,这些控件与母版页上的控件并存,不会相互影响。 在实际开发中,开发者通常会结合使用Web控件和母版页来创建功能丰富且布局一致的网页应用。母版页提供了一种高效的方式来管理...

    jquery jquery控件 时间控件 时分秒控件

    1. 引入jQuery库和时间控件插件:首先,你需要在HTML页面中引入jQuery库,然后引入时间控件插件的JavaScript和CSS文件。 2. 初始化控件:通过JavaScript选择要应用时间选择功能的元素,并调用初始化函数。例如,...

Global site tag (gtag.js) - Google Analytics