java:jsp同一页面中在文本框输入float值累加怎么做,比如有4个文本框,前三个是要输入分数,最后一个

显示前面三个相加的总分,分数是可以有小数点,要求就是在输入第一个分数时总分显示第一个分数,后面再输入第二个第三个的时候总分显示他们相加的和,怎么办啊 求大神

这部分只要html+javascript就可以实现 ,给你个小例子


<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
                    

<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事件 调用此方法,只要文本框失去焦点就计算一次 再添加到第四个中追问

我用的是onKeyup事件,这样输入的同时就能获取到,不过就是在做加法的时候遇到问题了,比如我输入的三个数,输入第一个第二个的时候都是显示的NaN,直到三个全部输入完才会得到相加结果,这是怎么回事啊

追答

做一下判断,如果是NaN就按0处理 NaN的意思是 not a number 不是数字

本回答被网友采纳
第2个回答  2014-12-18
首先,你得到的输入框中的内容是需要强制转换成你所需要的float类型的。
怎么转换可以上网搜搜
之后是你想要的:
每个输入框都绑定onblur或监听onblur事件(绑定onblur事件比较好,可以使用同一个函数),
每次触发都应该执行以下步骤:
1,获取三个输入框的值
2,将三个值进行强制转换(转换成float类型,空的话赋值为0.0)
3,进行数据累加,记录结果
4,将得到的结果显示在你想显示的地方追问

还是那个问题.. 只有等我把三个值全部输入进去才能得到结果,否则显示NaN,怎么才能避免这情况啊

追答

请参照第2条,你每次累加的时候,空的赋值为0.0就可以了。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网