关于 CHECKBOX 与 JS、PHP 协调工作的问题

    在html中使用checkbox如下:

    <form name="frm1">
    <input type="checkbox" id="mycouse1" name="mycouse[]" value="datastruct">数据结构
    <input type="checkbox" id="mycouse2" name="mycouse[]" value="c++">C++
    <input type="checkbox" id="mycouse3" name="mycouse[]" value="c#">C#
    <input type="checkbox" id="mycouse4" name="mycouse[]" value="php">PHP
    </form>

    注意checkbox名中的“[]”字符,因为是把checkbox作为数组,在php中才能用foreach方法取得选中的值。

    但在js中document.frm1.mycouse[].length方法却不能用。只有类似于document.frm1.mycouse.length才可以,这样php就只能取选中的最后一个 mycouse 值了,不能取得所有的选中的 mycouse 值。

    解决办法:document.frm1["mycouse[]"].length。把整个form看作一个数组,checkbox[] 作为其中一个元素就可以了。

    checkbox_mycouse = document.frm1["mycouse[]"];
    for(var i=0; i<=checkbox_mycouse.length-1; i++)
    {
      if(checkbox_mycouse[i].checked)
        count++;
    }
    alert('有' + count + '选项被选中。');

    其实,如果 name="mycouse[]" 为 name="mycouse",则很简单:
    for(var i=0; i<=document.frm1.mycouse.length-1; i++)
    {
      if(document.frm1.mycouse[i].checked)
        count++;
    }

    作者:张庆(网眼) ,微博:http://t.qq.com/zhangking
    来自“网眼视界”:http://blog.why100000.com
    “十万个为什么”电脑学习网:http://www.why100000.com
     2012-8-22

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值