如何在Javascript中将另一个整数添加一个简单的整数?
我将NaN作为总值。
<script type="text/javascript">
var total = 0;
document.getElementById("dds1").onkeyup = function() {
total = total + parseInt(this.value,10);
updateIt();
};
function updateIt() {
//tofixed(2)
document.getElementById("mySpan").innerHTML = total;
}
但如果我这样做:
total = parseInt(this.value,10);
然后total有一个值(一个整数值)。
答案 0 :(得分:5)
问题是你执行添加读取每个keyup的输入值。例如,如果用户按BACKSPACE清除输入,则该值将为空字符串,这将导致parseInt之后的NaN。一旦你有了NaN(在你的total
变量中),就再也无法摆脱它了。
试试这个:
document.getElementById('dds1').onkeyup = function() {
var value = parseInt(this.value, 10);
if ( !isNaN(value) ) {
total += value;
updateIt();
}
};
在这里,首先检查输入值是否可以解析为数字。如果没有,你就忽略它。
另一种方法是:
document.getElementById('dds1').onkeyup = function() {
var value = parseInt(this.value, 10);
isNaN(value) && return;
total += value;
updateIt();
};
在这里,如果您读取的输入值无法转换为数字,则只需完全返回该功能。
答案 1 :(得分:1)
这是添加整数的javascript。 好的是,即使是空格也不会抛出任何错误。
的Javascript
<script language="javascript" type="text/javascript">
function Add() {
var a, b, c, d;
a = parseInt(document.getElementById("txtFirstValue").value);
//
// If textbox value is null i.e empty, then the below mentioned if condition will
// come into picture and make the value to '0' to avoid errors.
//
if (isNaN(a) == true) { a = 0; }
var b = parseInt(document.getElementById("txtSecondValue").value);
if (isNaN(b) == true) { b = 0; }
var c = parseInt(document.getElementById("txtThirdValue").value);
if (isNaN(c) == true) { c = 0; }
var d = parseInt(document.getElementById("txtFourthValue").value);
if (isNaN(d) == true) { d = 0; }
document.getElementById("txtTotal").value = a + b + c + d;
}
</script>
<!-- begin snippet: js hide: false -->
HTML
&#13;
First Value: <asp:TextBox ID="txtFirstValue" runat="server"
onKeyUp="javascript:Add();"></asp:TextBox>
Second Value:<asp:TextBox ID="txtSecondValue" runat="server"
onKeyUp="javascript:Add();"></asp:TextBox>
Third Value:<asp:TextBox ID="txtThirdValue" rrunat="server"
onKeyUp="javascript:Add();"><asp:TextBox>
Fourth Value:<asp:TextBox ID="txtFourthValue" runat="server"
onKeyUp="javascript:Add();"></asp:TextBox>
Total = <asp:TextBox ID="txtTotal" runat="server" MaxLength="20" BackColor="#FFE0C0"
Enabled="False" Font- Font-Bold="True" Font-Size="X-Large">
</asp:TextBox>
&#13;
参考:http://www.ittutorials.in/source/javascript/scf4/addition-of-multiple-integers-using-javascript.aspx