Reputation: 39
I am new in JS, and I tried to get my input's value by the code shown below :
var num1 = document.getElementById("num1").value
But Intellisense doesn't show me "value". When I write ".va", it shows me "nodeValue" and it doesn't show me "value" in the autocomplete options at all.
var lbl = document.getElementById("lblResult");
lbl.innerHTML = "Ok";
function Sum() {
var num1 = document.getElementById("num1").value;
var num2 = document.getElementById("num2").value;
num1 = parseInt(num1);
num2 = parseInt(num2);
var sum = num1 + num2;
lbl.innerHTML = sum;
};
<h2 id="lblResult">salam</h2>
Number 1 : <input type="number" id="num1" />
<br /> Number 2 : <input type="number" id="num2" />
<br />
<input type="submit" onclick="Sum();" value="sum">
Anyone can help me?
Upvotes: 0
Views: 2130
Reputation: 2008
You might need to indicate the type of element because document.getElementById
can also return other element that will have no value
attribute. For example h2
element with id: lblResult
. VsCode uses TS
for it's intellisense.
Use below JSDoc comment with the type.
var lbl = document.getElementById("lblResult");
lbl.innerHTML = "Ok";
function Sum() {
/**
* Indicate your element type will be HTMLInputElement
* @type HTMLInputElement
*/
var num1 = document.getElementById("num1").value;
var num2 = document.getElementById("num2").value;
num1 = parseInt(num1);
num2 = parseInt(num2);
var sum = num1 + num2;
lbl.innerHTML = sum;
};
More on JSDoc: JSDoc reference
Upvotes: 2