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

 更新时间:2015年12月17日 11:24:00   作者:wandejun1012  
这篇文章主要介绍了JS禁用页面上所有控件的方法,涉及JavaScript捕捉页面元素的相关技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下

本文实例讲述了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');

完整实例代码点击此处本站下载

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

  • jQuery右下角旋转环状菜单特效代码

    jQuery右下角旋转环状菜单特效代码

    jquery实现右下角旋转环形菜单特效代码,是固定在页面右下角位置,当用户点击了主菜单按钮后,子菜单项会以环状旋转进入页面,并使用animate.css制作动画效果,有需要的朋友可以参考下
    2015-08-08
  • 禁用页面部分JavaScript不是全部而是部分

    禁用页面部分JavaScript不是全部而是部分

    全部限制那是很简单的事,直接把<script>脚本块过滤掉就行了,但是部分限制又是如何做到的呢,下面我们一起来看看
    2014-09-09
  • javascript实现查询商品功能

    javascript实现查询商品功能

    这篇文章主要为大家详细介绍了javascript实现查询商品功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 当前页禁止复制粘贴截屏代码小集

    当前页禁止复制粘贴截屏代码小集

    本文为大家详细介绍下禁止截屏,通过清除剪切板实现、禁止复制、禁止右键菜单、禁止网页另存为等等,感兴趣的朋友可以参考下哈,希望对大家有所帮助
    2013-07-07
  • JavaScript中的数学运算介绍

    JavaScript中的数学运算介绍

    这篇文章主要介绍了JavaScript中的数学运算介绍,本文先是讲解了数学运算的一些知识,然后给出了操作实例,需要的朋友可以参考下
    2014-12-12
  • JavaScript匿名函数用法分析

    JavaScript匿名函数用法分析

    这篇文章主要介绍了JavaScript匿名函数用法,实例分析了匿名函数的功能、定义及具体用法,非常具有实用价值,需要的朋友可以参考下
    2015-02-02
  • javascript页面渲染速度测试脚本分享

    javascript页面渲染速度测试脚本分享

    这篇文章主要介绍了javascript页面渲染速度测试脚本,计算浏览器渲染HTML页面所需要的时间,需要的朋友可以参考下
    2014-04-04
  • Bootstrap零基础入门教程(三)

    Bootstrap零基础入门教程(三)

    Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架。本文重点给大家介绍Bootstrap零基础入门教程(三) ,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-07-07
  • 一些常用且实用的原生JavaScript函数

    一些常用且实用的原生JavaScript函数

    日常开始中常用到的一些原生JavaScript函数,比较实用, 今天特地整理一下,分享给大家,希望对大家有用,会常更新,同时也欢迎大家补充.
    2010-09-09
  • JS实现京东商品分类侧边栏

    JS实现京东商品分类侧边栏

    这篇文章主要为大家详细介绍了JS实现京东商品分类侧边栏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12

最新评论