日期:2014-05-16  浏览次数:20307 次

JS 验证checkbox的代码怎么写
我的checkbox是PHP动态生成的 比如
PHP code

 $arr=array('b','n','a');

foreach ($arr as $v) {
switch ($v) {
case "a":
    echo "<label><input type=\"checkbox\" name=\"a\" value=\"1\"/> A </label>";
    break;
case "b":
   echo "<label><input type=\"checkbox\" name=\"b\" value=\"1\"/> B </label>";
    break;
case "c":
    echo "<label><input type=\"checkbox\" name=\"c\" value=\"1\"/> C </label>";  
  break;
}

}




JS代码:

JScript code

function checkform()
{
    if(!document.form.a.checked && !document.form.b.checked  && !document.form.c.checked  )
    {
    alert("需要选择至少一个类型");
        
    return false;
    }
}





可能生成的HTML没有 <input type=\"checkbox\" name=\"c\" value=\"1\"/>的原因 ,JS不能验证;如果checkbox是固定的HTMP代码就是ABC三个checkbox都有JS验证是没问题,请问我的验证JS应该怎么改????~~

------解决方案--------------------
把每个设置成
"<label><input type=\"checkbox\" class=\"test\" name=\"a\" value=\"1\"/> A </label>";
在每次动态生成的后面,追加上事件,比如$(".test").clik(checkform);
这样的话,每次点击就会调用checkform函数,必须在生成之后才能调用,或者追加事件
------解决方案--------------------
$(".test").click(checkform)用的jQuery触发事件。你的代码可能是没有在checkbox上加监听事件吧。$(".test")就是选取为class为test的所有元素或标签吧。
------解决方案--------------------
你要确定PHP动态生成的checkbox要先于JS验证函数加载。
不然会出错的。