<input type=checkbox name=abc value=a onclick="mm(this)">a<br>
<input type=checkbox name=abc value=b onclick="mm(this)">b<br>
<input type=checkbox name=abc value=c onclick="mm(this)">c<br>
<input type=checkbox name=abc value=d onclick="mm(this)">d<br>
<input id=txt><SCRIPT LANGUAGE="JavaScript">
function mm(e)
{
  var a = document.getElementsByName("abc");
  var b = new Array();
  for(var i=0; i<a.length; i++)
  {
    if(a[i].checked) b[b.length] = a[i].value;
  }
  document.all.txt.value = b.join(",");
}
</SCRIPT>

解决方案 »

  1.   

    大哥,你的代码很不错,能解决我的问题,但还有个问题,我用分页显示我的数据,当我点击下一页时,标签会自动将这个页的<input id=txt>值用<input type="hidden" name="txt">保存,而翻页后的数据也是按这页的形式显示的,同样要点击增加上去,取消选择,则删除这个多选框对应的值,该怎么改?
      

  2.   

    看了大哥的代码,<input id=txt>的值是通过重写进去的,可如果我隐藏域原来有值,哪通过大哥的方法可能就会丢失原来的值了,我希望是通过多选框的选择,如果隐藏域的值(用逗号分隔者)里面有多选框的值,那么如果多选框是选择状态,则隐藏域值不变,如果没有,则增加到隐藏域中,如果多选框的状态是取消状态,则查找隐藏域,将和多选框的值相同隐藏域中的这个值删除掉,大哥如果觉得分不够,我可以再加
      

  3.   

    <script language="javascript">
    <!--
      function fnccheck()
      {
        var s='';
        var o = document.getElementsByTagName('INPUT');
        for(var i=0;i<o.length;i++)
        {
          if(o[i].type == 'checkbox' && o[i].checked == true) s+=o[i].value+',';
        }
        s = s.substr(0,s.length-1);
        alert(s);
      }
    //-->
    </script><input type=checkbox value=a>a
    <input type=checkbox value=b>b
    <input type=checkbox value=c>c
    <input type=checkbox value=d>d
    <input type=checkbox value=e>e
    <input type=checkbox value=f>f
    <p><input type=button value=查看结果  onclick="fnccheck();"></p>
      

  4.   

    <script language="javascript">
    <!--
      function fnccheck()
      {
        var s='w,x';
        var o = document.getElementsByTagName('INPUT');
        for(var i=0;i<o.length;i++)
        {
          if(o[i].type == 'checkbox' && o[i].checked == true) s+=o[i].value+',';
        }
        s = s.substr(0,s.length-1);
        alert(s);
      }
    //-->
    </script><input type=checkbox value=a onclick="fnccheck();">a
    <input type=checkbox value=b onclick="fnccheck();">b
    <input type=checkbox value=c onclick="fnccheck();">c
    <input type=checkbox value=d onclick="fnccheck();">d
    <input type=checkbox value=e onclick="fnccheck();">e
    <input type=checkbox value=f onclick="fnccheck();">f
    <input type=checkbox value=w onclick="fnccheck();">w
    <p><input type=button value=查看结果  onclick="fnccheck();"></p>
      

  5.   

    zltostem(尘寞) 大哥,你的方法不错,可如果我给s赋初值,点击多选框,并没有对s字符串进行处理,只是在原有字符串基础上增加和删除,原有字符串并没有变化