禁用html中的所有元素

Bij*_* CD 17 html javascript

我们如何通过javascript禁用html中的所有元素.最简单的方法......

bjo*_*ben 39

我建议采用"灯箱"式的方式.

在页面上方添加绝对定位的透明全屏div层.这样,用户甚至无法点击链接.

为了向用户提供页面被禁用的视觉反馈,您可以将div设为50%透明黑色.

BTW,这里也是一个使用类似技术的jQuery插件.

  • 不幸的是,如果您可以将焦点集中到div后面的元素之一(通过选项卡或使用键盘快捷键),这无济于事 (8认同)

GOT*_*O 0 29

最简单的方法是将要禁用的所有表单元素放入a中<fieldset>,然后禁用字段集本身.

一个例子:http://jsfiddle.net/xdkf9b8j/1/

如果您不想要字段集周围的边框,请按css将其删除.


kay*_*een 13

试试这个,

function disableForm(theform) {
        if (document.all || document.getElementById) {
            for (i = 0; i < theform.length; i++) {
            var formElement = theform.elements[i];
                if (true) {
                    formElement.disabled = true;
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

或者你也可以试试这个,正如RaYell所说

function disableForm() {
    var inputs = document.getElementsByTagName("input");
    for (var i = 0; i < inputs.length; i++) {
        inputs[i].disabled = true;
    }
    var selects = document.getElementsByTagName("select");
    for (var i = 0; i < selects.length; i++) {
        selects[i].disabled = true;
    }
    var textareas = document.getElementsByTagName("textarea");
    for (var i = 0; i < textareas.length; i++) {
        textareas[i].disabled = true;
    }
    var buttons = document.getElementsByTagName("button");
    for (var i = 0; i < buttons.length; i++) {
        buttons[i].disabled = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

要禁用整个页面,您可以在此处找到一些信息,


RaY*_*ell 11

我不知道你为什么需要这个,但这会奏效:

// this will disable all input elements
var elems = document.getElementsByTagName('input');
var len = elems.length;

for (var i = 0; i < len; i++) {
    elems[i].disabled = true;
}
Run Code Online (Sandbox Code Playgroud)

  • 不要忘记textareas!:d (4认同)
  • 这只是一个例子,你可以用`textarea`和`select`做同样的事情 (2认同)
  • 另外不要忘记`select`元素 (2认同)

CMS*_*CMS 6

表单中的所有表单元素(输入,选择,textareas)都可以通过form.elements HTMLCollection访问,您可以迭代禁用每个元素的集合:

function disableForm(form) {
var length = form.elements.length,
    i;
  for (i=0; i < length; i++) {
    form.elements[i].disabled = true;
  }
}
Run Code Online (Sandbox Code Playgroud)

用法示例:

disableForm(document.forms[0]);
disableForm(document.getElementById('formId'));
Run Code Online (Sandbox Code Playgroud)