I want to create a calculator which simply sums 2 fields up. But whatever I try it does not work. It also returns “NaN”, also if I use parseInt().
Here’s the code:
<script type="text/javascript" language="Javascript">
function doSum()
{
var a = document.getElementsByName("a").value;
var b = document.getElementsByName("b").value;
var sum = a + b;
document.getElementById("sum").value = sum;
}
</script>
<form action="" method="POST">
<br/>a:<br/>
<input type="text" name="a" onblur='doSum()' value="0" size="5" />
<br/>b:<br/>
<input type="text" name="b" onblur='doSum()' value="0" size="5" />
<br/>Ergebnis<br/>
<input type="text" id='sum' value='' size="50" disabled/>
</form>
Sorry for that noob question, but what I’am doing wrong?
Thanks for any help!
Give
ids to your inputs and identify them uniquely usingdocument.getElementById. Then, obtain their decimal int values usingparseIntwith the radix parameter set to 10 and display the result as you currently do.getElementsByNamereturns a list of elements and you’d have to refer to the one you want through an index, even if the list contains only one element.getElementByIdon the other hand, returns an uniquely identified element, by its id.