Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make a document.getElementById value into an integer variable, not a string?

Tags:

javascript

I want to pass in a value, obtained from the an html object, convert that value into an integer so I can run arithmetic on it before outputting it. As my code stands now, it just adds them up like a string. So a value of 5 + a modifier of 100 ends up equaling = 5100, not 105.

Here's my form code:

<form>
    Add Amount: <select id="addTweets">
    <option value=5>5</option>
    <option value=10>10</option>
    <option value=15>15</option>
    </select>
    </br>
    <input type="button" value="Add It" onclick="addTweet()" />
</form>

Here's my script:

function addTweet()
{
var mod = 100;
var results = document.getElementById("addTweets").value;
results += mod;

document.getElementById("tweetsOutput").innerHTML = results;
}
like image 780
Hales_W Avatar asked Dec 03 '12 23:12

Hales_W


2 Answers

The unary plus (+) coerces its operand into a number:

var results = +document.getElementById("addTweets").value;
    ...

typeof( results ); // number
like image 129
David G Avatar answered Oct 07 '22 12:10

David G


Use parseInt:

var results = document.getElementById("addTweets").value;
var intResults = parseInt(results, 10) + mod;
like image 24
davidethell Avatar answered Oct 07 '22 12:10

davidethell