Javascript 如何为web表单创建“全部检查”链接?

Javascript 如何为web表单创建“全部检查”链接?,javascript,Javascript,我有一个表单,上面有一堆复选框,我想提供一个全选链接/按钮 我正在使用下面的代码,但当它运行时,它会选择页面上的一些单选按钮,并选中/取消选中这些按钮。我该如何解决这个问题 var check = 0; function doNow() { void(d=document); void(el=d.getElementsByTagName('INPUT')); for(i=0;i<el.length;i++) { if(check == 0)

我有一个表单,上面有一堆复选框,我想提供一个全选链接/按钮

我正在使用下面的代码,但当它运行时,它会选择页面上的一些单选按钮,并选中/取消选中这些按钮。我该如何解决这个问题

var check = 0;
function doNow()
{
    void(d=document);
    void(el=d.getElementsByTagName('INPUT'));
    for(i=0;i<el.length;i++)
    {
        if(check == 0)
            void(el[i].checked=1)
        else
            void(el[i].checked=0) 
    }
    if(check == 0)
        check = 1;
    else 
       check = 0;
}

您需要检查元素的类型,以确保不会意外地检查错误类型的输入

基本示例:

function checkAll( toggle ) {
    var inputs = document.getElementsByTagName( 'input' );
    for( var i = 0; i < inputs.length; i++ ) {
        if( inputs[i].type == 'checkbox' ) {
            inputs[i].checked = toggle;
        }
    }
}

您可能需要添加其他检查,例如仅对特定逻辑组中的复选框执行操作。

您可以检查输入的类型:

if(el[i].type == 'checkbox') {
   el[i].checked = true;
}

可以将当前状态存储为函数的属性,也可以检查类型

function checkAll() {
    var all = document.getElementsByTagName('input');
    for( var i = 0, l = all.length; i < l; i++ ) {
        if( all[i].type == 'checkbox' ) {
            all[i].checked = checkAll.checked;
        }
    }
    checkAll.checked = !checkAll.checked;
}
checkAll.checked = true;

注意:我完全重写了这个问题,删除了HTML/脚本,因为该网站的帖子中似乎充斥着HTML,而且问题没有正确回答。在你的if语句中键入。它有一个=而不是2