javascript/CSS

<html><head><title>总价</title></head><body><form><inputtype="checkbox"name="box"value=... <html>
<head>
<title>总价</title>
</head>
<body>
<form>
<input type="checkbox" name="box" value="10" id="gangbi" onclick="sum()" >钢笔(10元)
<input type="checkbox" name="box" value="1" id="qianbi" onclick="sum()" >铅笔(1元)
<input type="checkbox" name="box" value="20" id="maobi" onclick="sum()" >毛笔(20元)
</form>
<script language="javascript">
var a,b,c,e;
function sum(){
a=document.getElementById("gangbi").value;
b=document.getElementById("qianbi").value;
c=document.getElementById("maobi").value;
}
function zongjia(){
e=a+b+c;
return e;
}
</script>
<script language="javascript">
document.write("总价:",zongjia(),"")
</script>
</body>
</html>
写完后保存网页,总价显示不出来,不知道是什么问题
另外我想问下
网页里有很多个3种表单控件(select button text),我不想在form里,每个都写<input type=”” style=””>
,用input{}的话3重控件都同一种样式了,我想要3类控件3类不同样式,如何在head里的style标签中设置好
展开
 我来答
网海1书生
科技发烧友

2014-08-05 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26231

向TA提问 私信TA
展开全部
<html>
<head>
<title>总价</title>
</head>
<body>
<form>
<input type="checkbox" name="box" value="10" id="gangbi" onclick="sum()" >钢笔(10元)
<input type="checkbox" name="box" value="1" id="qianbi" onclick="sum()" >铅笔(1元)
<input type="checkbox" name="box" value="20" id="maobi" onclick="sum()" >毛笔(20元)
</form>
<div>总价:<span id="zongjia">0</span>元</div>
<script language="javascript">
function sum(){
var s=0;
if(document.getElementById("gangbi").checked)
s+=parseInt(document.getElementById("gangbi").value);
if(document.getElementById("qianbi").checked)
s+=parseInt(document.getElementById("qianbi").value);
if(document.getElementById("maobi").checked)
s+=parseInt(document.getElementById("maobi").value);
document.getElementById("zongjia").innerText=s;
}
</script>
</body>
</html>

关于css的问题
input[type=text] {} //这个表示text
input[type=checkbox] {} //这个表示checkbox
input[type=radio] {} //这个表示radio
input[type=button] {} //这个表示button
input[type=submit] {} //这个表示submit
input[type=reset] {} //这个表示reset
注意,IE6不适用!
追问
请问所有form表单的value赋值为数字后,都不是数值吗,那是什么
是不是都是字符型的,要运算一定要用parseInt()转换
追答
不管输入的是什么,都是字符型
由于+号除了是数学运算符,同时也是字符串连接符,所以在进行加法运算时,javascript是不会自动把字符转换为数值的,所以"10"+"1"="101"了。如果是减法、乘法、除法,它就会自动转换,比如:
function sum(){
var s=0;
if(document.getElementById("gangbi").checked)
s+=document.getElementById("gangbi").value-0; //减0后结果不变,但已经转为数值了
if(document.getElementById("qianbi").checked)
s+=document.getElementById("qianbi").value*1; //同理,乘以1后不变,但也转为数值了
if(document.getElementById("maobi").checked)
s+=document.getElementById("maobi").value/1; //除以1也一样
document.getElementById("zongjia").innerText=s;
}
qianhua1
2014-08-05 · TA获得超过399个赞
知道答主
回答量:163
采纳率:0%
帮助的人:68.6万
展开全部
<html>
<head>
<title>总价</title>
</head>
<body>
<form>
<input type="checkbox" name="box" value="10" id="gangbi" onclick="sum()" >钢笔(10元)
<input type="checkbox" name="box" value="1" id="qianbi" onclick="sum()" >铅笔(1元)
<input type="checkbox" name="box" value="20" id="maobi" onclick="sum()" >毛笔(20元)
</form>
<script language="javascript">
var a,b,c,e;
function sum(){
a=parseInt(document.getElementById("gangbi").value);//先转化为数字再去计算
b=parseInt(document.getElementById("qianbi").value);
c=parseInt(document.getElementById("maobi").value);
}
function zongjia(){
sum();//调用函数zongjia()的时候 函数sum没有运行,所以a,b,c,都没有赋值,这里调用一下
e=a+b+c;
return e;
}
</script>
<script language="javascript">
document.write("总价:",zongjia(),"")
</script>
</body>
</html>
追问
请问所有form表单的value赋值为数字后,都不是数值吗,是不是都是字符型的,要运算一定要用parseInt()转换
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liboleiqaz
2014-08-05
知道答主
回答量:41
采纳率:0%
帮助的人:18.3万
展开全部
zongjia()方法里得把a b c换成int类型再进行相加操作
zongjia()方法里还得调用一下sum()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式