标题:复选框值传向文本域问题??
只看楼主
流星阿勇
Rank: 1
等 级:新手上路
帖 子:75
专家分:0
注 册:2007-4-1
 问题点数:0 回复次数:4 
复选框值传向文本域问题??
请问我用发下代码后为什么只要选中一个复选框,所有的复选框值一下都传到文本域里了。。。请问这是为什么。。谁能给我改改。。。谢了。
<script language="javascript">
function a()
{
var i="";
var sum="";
for (j=0;j<=3;j++)
 {
if  (document.form1.elements[j].Checked=true)
      {
    i=document.form1.elements[j].value+"\n";
    
      }
    sum=sum+i;
       
  }    
   document.form1.t1.value=sum;//传向文本域的值
}
</script>

[[italic] 本帖最后由 流星阿勇 于 2007-12-18 16:58 编辑 [/italic]]
搜索更多相关主题的帖子: 复选框 文本域 var sum function 
2007-12-18 16:55
lmhllr
Rank: 8Rank: 8
等 级:贵宾
威 望:44
帖 子:1504
专家分:42
注 册:2005-5-12
得分:0 
判断要用 ==

还有,代码似乎不完整
2007-12-18 17:11
流星阿勇
Rank: 1
等 级:新手上路
帖 子:75
专家分:0
注 册:2007-4-1
得分:0 
原帖由 [bold][underline]lmhllr[/underline][/bold] 于 2007-12-18 17:11 发表 [url=http://bbs.][/url]
判断要用 ==

还有,代码似乎不完整

你说的是IF里的那个判断要用==吗?



下面是完整代码:麻烦你帮我看看
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<script language="javascript">
function a()
{
var i="";
var sum="";
for (j=0;j<=3;j++)
 {
if  (document.form1.elements[j].Checked=true)
      {
    i=document.form1.elements[j].value+"\n";
    
      }
    sum=sum+i;
       
  }    
   document.form1.t1.value=sum;
}
</script>

<body>
<form id="form1" name="form1" method="post" action="">
  <label>
  <input type="checkbox" name="c1" value="国家" onclick="a()">
  国家</label>
  <label>
  <input type="checkbox" name="c2" value="军事" onclick="a()" >
  军事</label>
  <label>
  <input type="checkbox" name="c3" value="计算机"  onclick="a()">
  计算机</label>
  <label>
  <input type="checkbox" name="c4" value="科学"  onclick="a()">
  科学</label>
  <p>
    <label>
    <textarea name="t1" rows="6"></textarea>
    </label>
  </p>
</form>
</body>
</html>

我是菜鸟,但我会一直努力。。。相信总有一天会成功。。。
2007-12-18 17:15
流星阿勇
Rank: 1
等 级:新手上路
帖 子:75
专家分:0
注 册:2007-4-1
得分:0 
我换成双等号    if  (document.form1.elements[j].Checked==true)   就没有反应了。不知道这判断哪里错了

我是菜鸟,但我会一直努力。。。相信总有一天会成功。。。
2007-12-18 17:41
375671339
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-12-8
得分:0 
献丑
这是我修改过的
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<script language="javascript">
function a()
{
var i="";
var sum="";
for (j=0;j<=3;j++)
{
if  (document.form1.elements[j].checked==true)
      {
        i=document.form1.elements[j].value+"\n";  
    sum=sum+i;
      }     
  }   
   document.form1.t1.value=sum;
}
</script>

<body>
<form id="form1" name="form1" method="post" action="">
  <label>
  <input type="checkbox" name="c1" value="国家" onclick="a()">
 国家</label>
  <label>
  <input type="checkbox" name="c2" value="军事" onclick="a()" >
  军事</label>
  <label>
  <input type="checkbox" name="c3" value="计算机"  onclick="a()">
  计算机</label>
  <label>
  <input type="checkbox" name="c4" value="科学"  onclick="a()">
  科学</label>
  <p>
    <label>
    <textarea name="t1" rows="6"></textarea>
    </label>
  </p>
</form>
</body>
</html>
在 javascript 里是区分大小写的,你把 checked 写成 Checked 了,
还有确实要用 "==" 才行,那个sum=sum+i;应该放到if里面去。
对了
那个<label></label>标签好象没有起到作用哦!
2007-12-18 20:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-193176-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.390265 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved