js从文本框中获取数值用来计算时,相加结果为字符串
<body><form>边长a:<inputname="a"type="number"value="3"><br/>边长b:<inputname="b"type="num...
<body>
<form>
边长a:<input name="a" type="number" value="3"><br/>
边长b:<input name="b" type="number" value="4"><br/>
边长c:<input name="c" type="number" value="5"><br/>
<input name="calculate" type="button" value="计算周长" onclick="cal(this.form)"><br/>
周长:<input name="s" type="number"><br/>
</form>
<script language="javascript">
function cal(form)
{
var a=form.a.value;
var b=form.b.value;
var c=form.c.value;
form.s.value = a+b+c;
}
</script>
</body>
运行的结果:
这是哪儿的问题?应该怎么解决啊? 展开
<form>
边长a:<input name="a" type="number" value="3"><br/>
边长b:<input name="b" type="number" value="4"><br/>
边长c:<input name="c" type="number" value="5"><br/>
<input name="calculate" type="button" value="计算周长" onclick="cal(this.form)"><br/>
周长:<input name="s" type="number"><br/>
</form>
<script language="javascript">
function cal(form)
{
var a=form.a.value;
var b=form.b.value;
var c=form.c.value;
form.s.value = a+b+c;
}
</script>
</body>
运行的结果:
这是哪儿的问题?应该怎么解决啊? 展开
3个回答
展开全部
js是一个弱数据类型的语言,input框中获取的值全部为字符串类型,另外js里边还有一种类型叫做number类型,你如果要进行数字之间的加减,必须将字符类型转换为number类型,
如果是整型,就用:
var a=parseInt(form.a.value,10);
var b=parseInt(form.b.value,10);
var c=parseInt(form.c.value,10);
就是将字符类型转换成10进制的int类型。希望采纳。
如果是整型,就用:
var a=parseInt(form.a.value,10);
var b=parseInt(form.b.value,10);
var c=parseInt(form.c.value,10);
就是将字符类型转换成10进制的int类型。希望采纳。
展开全部
因为那是string 类型,只要改成 int 类型就可以了。用parseFloat()可以转为int类型,然后再计算就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var a=parseFloat(form.a.value);
var b=parseFloat(form.b.value);
var c=parseFloat(form.c.value);
这3个改下
var b=parseFloat(form.b.value);
var c=parseFloat(form.c.value);
这3个改下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询