显示前面三个相加的总分,分数是可以有小数点,要求就是在输入第一个分数时总分显示第一个分数,后面再输入第二个第三个的时候总分显示他们相加的和,怎么办啊 求大神
这部分只要html+javascript就可以实现 ,给你个小例子
<html>
<head>
<title>test</title>
<script type="text/javascript">
function changeValue()
{
var total = document.getElementById("total");
var first = document.getElementById("first");
var second = document.getElementById("second");
var third = document.getElementById("third");
var totalValue = 0;
if (first.value)
totalValue += parseFloat(first.value);
if (second.value)
totalValue += parseFloat(second.value);
if (third.value)
totalValue += parseFloat(third.value);
total.value = totalValue;
}
</script>
</head>
<body >
<input id="first" type="text" onchange="changeValue();" />
<input id="second" type="text" onchange="changeValue();" />
<input id="third" type="text" onchange="changeValue();" />
<input id="total" type="text" />
</body>
</html>
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-12-18
用js写一个方法 取3个文本框的值 做加法
给3个文本框都添加onblur事件 调用此方法,只要文本框失去焦点就计算一次 再添加到第四个中追问
给3个文本框都添加onblur事件 调用此方法,只要文本框失去焦点就计算一次 再添加到第四个中追问
我用的是onKeyup事件,这样输入的同时就能获取到,不过就是在做加法的时候遇到问题了,比如我输入的三个数,输入第一个第二个的时候都是显示的NaN,直到三个全部输入完才会得到相加结果,这是怎么回事啊
追答做一下判断,如果是NaN就按0处理 NaN的意思是 not a number 不是数字
本回答被网友采纳第2个回答 2014-12-18
首先,你得到的输入框中的内容是需要强制转换成你所需要的float类型的。
怎么转换可以上网搜搜
之后是你想要的:
每个输入框都绑定onblur或监听onblur事件(绑定onblur事件比较好,可以使用同一个函数),
每次触发都应该执行以下步骤:
1,获取三个输入框的值
2,将三个值进行强制转换(转换成float类型,空的话赋值为0.0)
3,进行数据累加,记录结果
4,将得到的结果显示在你想显示的地方追问
怎么转换可以上网搜搜
之后是你想要的:
每个输入框都绑定onblur或监听onblur事件(绑定onblur事件比较好,可以使用同一个函数),
每次触发都应该执行以下步骤:
1,获取三个输入框的值
2,将三个值进行强制转换(转换成float类型,空的话赋值为0.0)
3,进行数据累加,记录结果
4,将得到的结果显示在你想显示的地方追问
还是那个问题.. 只有等我把三个值全部输入进去才能得到结果,否则显示NaN,怎么才能避免这情况啊
追答请参照第2条,你每次累加的时候,空的赋值为0.0就可以了。