Hales_W Hales_W - 3 months ago 7
Javascript Question

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

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;
}

Answer

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

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

typeof( results ); // number