使用JavaScript或Prototype获取表单中的所有控件并启用它们?

时间:2012-08-28 15:11:57

标签: javascript controls prototypejs

如何获取所有控件(单选按钮,选择,文本字段等)并将其状态设置为启用?

2 个答案:

答案 0 :(得分:2)

使用Prototype.js:

$$(":input").each(function (el) {
   el.enable();
});​

<强> DEMO

答案 1 :(得分:0)

如果您不关心旧浏览器,可以使用:

(function (slice) {
    "use strict";
    var elems;

    //select the elements
    elems = document.querySelectorAll('button, input, select, textarea');

    //cast to an array
    elems = slice.call(elems); 

    //iterate over the array
    elems.forEach(function (el) {
        //enable each element
        el.disabled = false;
    });
}(Array.prototype.slice));

否则,您需要使用document.getElementsByTagName并迭代每个标记:

(function (slice) {
    "use strict";
    var elems,
        elem,
        i,
        l;
    function getElemArr(tag) {
        var els;
        //get the elements
        els = document.getElementsByTagName(tag);
        //cast to array
        els = slice.call(els);
        return els;
    }
    //select each type
    elems = [].concat(
        getElemArr('button'),
        getElemArr('input'),
        getElemArr('select'),
        getElemArr('textarea')
    );
    //loop over every element
    for (i = 0, l = elems.length; i < l; i += 1) {
        elem = elems[i];
        elem.disabled = false;
    }
}(Array.prototype.slice));