最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

javascript - Summing variables with parseInt(); Not Working - Stack Overflow

matteradmin6PV0评论

What is the proper way to add the sum of multiple variables in Javascript?

This is what I'm trying to do. I've tried it with and without the quotes around my variables. I'm not getting a NaN or an Undefined or anything. No output whatsoever.

function setstat(){
document.getElementById('date').value = window.opener.document.getElementById('thisday').value;
document.getElementById('name').value = window.opener.document.getElementById('element_7').value;
document.getElementById('time').value = window.opener.document.getElementById('stwa').value;

inbcalls = window.opener.document.getElementById('element_6').value;
document.getElementById('totinb').value = inbcalls;
inbcallsp = parseInt("inbcalls",10);
asaptotal = window.opener.document.getElementById('asapcalls').value;
document.getElementById('asaptot').value = asaptotal;
asaptotalp = parseInt("asaptotal",10);
faxtotal = window.opener.document.getElementById('faxcalls').value;
document.getElementById('faxtot').value = faxtotal;
faxtotalp = parseInt("faxtotal",10);
obtotal = window.opener.document.getElementById('obcalls').value;
document.getElementById('obtot').value = obtotal;
totalcalls = inboundcallsp + asaptotalp + faxtotalp + obtotalp;
document.getElementById('totsum').value = totalcalls;
}

What is the proper way to add the sum of multiple variables in Javascript?

This is what I'm trying to do. I've tried it with and without the quotes around my variables. I'm not getting a NaN or an Undefined or anything. No output whatsoever.

function setstat(){
document.getElementById('date').value = window.opener.document.getElementById('thisday').value;
document.getElementById('name').value = window.opener.document.getElementById('element_7').value;
document.getElementById('time').value = window.opener.document.getElementById('stwa').value;

inbcalls = window.opener.document.getElementById('element_6').value;
document.getElementById('totinb').value = inbcalls;
inbcallsp = parseInt("inbcalls",10);
asaptotal = window.opener.document.getElementById('asapcalls').value;
document.getElementById('asaptot').value = asaptotal;
asaptotalp = parseInt("asaptotal",10);
faxtotal = window.opener.document.getElementById('faxcalls').value;
document.getElementById('faxtot').value = faxtotal;
faxtotalp = parseInt("faxtotal",10);
obtotal = window.opener.document.getElementById('obcalls').value;
document.getElementById('obtot').value = obtotal;
totalcalls = inboundcallsp + asaptotalp + faxtotalp + obtotalp;
document.getElementById('totsum').value = totalcalls;
}
Share Improve this question asked Jul 5, 2012 at 2:24 I wrestled a bear once.I wrestled a bear once. 23.4k20 gold badges72 silver badges122 bronze badges 4
  • Have you tried tracing each and every one of them in the console yet? – elclanrs Commented Jul 5, 2012 at 2:26
  • Well, "faxtotal" isn't an int, it's a string. Without knowing what you're actually doing, tough to help. What does the JS console day? – Dave Newton Commented Jul 5, 2012 at 2:28
  • Are the domains of the opener and the openee the same? Also, check your console for errors. – Ry- Commented Jul 5, 2012 at 2:28
  • 1 you know what, i'm retarted, ignore me. thanks anyway guys. i spend hours fixing the simplest things because i can't figure out how to use firebug. which failed to point out that "inboundcallsp" is undefined. – I wrestled a bear once. Commented Jul 5, 2012 at 2:44
Add a ment  | 

4 Answers 4

Reset to default 2

Why are you quoting the variable names?

inbcallsp = parseInt("inbcalls",10);

should be:

inbcallsp = parseInt(inbcalls, 10);

And the same for the rest of them. You want to parse the value of the variables, not the names of the variables; those will always result in NaN.

asaptotalp = parseInt("asaptotal",10); "asaptotal" is recognize as the string not the variable you should not quote it

When using parseInt always specify the radix as 10.

The function singnature: parseInt(string, radix)

The radix is optional but if ommited, JavaScript assumes the following:

If the string begins with "0x", the radix is 16 (hexadecimal) If the string begins with "0", the radix is 8 (octal). This feature is deprecated If the string begins with any other value, the radix is 10 (decimal)

Example: parseIn("05") ==== 0 -> true

parseIn("05", 10) ==== 5 -> true

Don't use ParseInt, sometimes it will not return the proper value.

Better use Number, for example:

var i=Number(your value)
Post a comment

comment list (0)

  1. No comments so far