Reputation: 101
I need help to create a function that:
Any suggestions? Below is what I've got so far:
function adder() {
var num1 = parseInt(document.getElementById("myform").elements["num1"].value);
var num2 = parseInt(document.getElementById("myform").elements["num2"].value);
var total = num1 + num2;
document.getElementById("p1").innerHTML = total;
}
<form id="myform">
First Number: <input type="text" name="num1"><br /><br /> Second Number: <input type="text" name="num2"><br /><br />
</form>
<button onclick="adder()"> Submit</button><br><br>
<p id="p1">Results Are Here</p>
Upvotes: 1
Views: 6396
Reputation: 412
Quick mod to above answer to stop the counting after reaches > 100.
var total = 0;
function adder() {
var num1 = parseInt(document.getElementById("myform").elements["num1"].value);
var num2 = parseInt(document.getElementById("myform").elements["num2"].value);
if (total > 100){
console.log("It's over!");
} else {
total += num1 + num2;
document.getElementById("p1").innerHTML = total;
}
}
<form id="myform">
First Number: <input type="text" name="num1"><br /><br /> Second Number: <input type="text" name="num2"><br /><br />
</form>
<button onclick="adder()"> Submit</button><br><br>
<p id="p1">Results Are Here</p>
Upvotes: 1
Reputation: 6747
You should define and initialize total
to 0
outside adder()
so that you can add the fields values to the existing sum. Here's an example:
var total = 0;
function adder() {
var num1 = parseInt(document.getElementById("myform").elements["num1"].value);
var num2 = parseInt(document.getElementById("myform").elements["num2"].value);
total += num1 + num2;
document.getElementById("p1").innerHTML = total;
if (total > 100) console.log("It's over!");
}
<form id="myform">
First Number: <input type="text" name="num1"><br /><br /> Second Number: <input type="text" name="num2"><br /><br />
</form>
<button onclick="adder()"> Submit</button><br><br>
<p id="p1">Results Are Here</p>
On a side note if your <button>
is part of your <form>
, it will cause the page to refresh, so adding type="button"
solves this issue in that case and you can see the result properly.
Upvotes: 2