最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Get Integer from HTML text to JavaScript - Stack Overflow

programmeradmin6浏览0评论

I have a text field like this:

<input id="num" type="text" style="width:10px"/>

I am trying to retrieve it from JavaScript as follows:

var numofnodes =parseInt(document.getElementById('num').value,10);

It is giving "", and i tried like this

var numofnodes =document.getElementById('num').value

But still I am getting "".

I have a text field like this:

<input id="num" type="text" style="width:10px"/>

I am trying to retrieve it from JavaScript as follows:

var numofnodes =parseInt(document.getElementById('num').value,10);

It is giving "", and i tried like this

var numofnodes =document.getElementById('num').value

But still I am getting "".

Share Improve this question edited Aug 2, 2015 at 1:27 Nathan Tuggy 2,24427 gold badges32 silver badges38 bronze badges asked Aug 2, 2015 at 1:21 user5049245user5049245 4
  • What is the value in the field? What were you expecting? – Scott Hunter Commented Aug 2, 2015 at 1:23
  • I am giving a number say 100 – user5049245 Commented Aug 2, 2015 at 1:28
  • Any chance that the document has more than one element with the id="num" attribute? Any errors in the console? – Ted Hopp Commented Aug 2, 2015 at 1:49
  • It does not contain any element with id=num, I am using visual studio so i saw by using a break point and found that the numofnodes="" – user5049245 Commented Aug 2, 2015 at 1:51
Add a ment  | 

4 Answers 4

Reset to default 3

Problem seems that you are trying to read the value on page load, i.e. textbox isn't having any value given, hence you get blank:

var numofnodes = parseInt(document.getElementById('num').value, 10);
alert(numofnodes);
<input id="num" type="text" style="width:10px" />

Try with value attribute for default no. of nodes:

var numofnodes = parseInt(document.getElementById('num').value, 10);
alert(numofnodes);
<input id="num" type="text" style="width:10px" value="100" />

parseInt either returns an integer or NaN, it shouldn't be a "". How do you output the value that you get? Your code seems to works fine for me:

<input id="num"  type="text" style="width:100px"/>
<button id="b">log value</button>

...

document.getElementById("b").onclick = function()  {
  console.log( parseInt(document.getElementById('num').value, 10) );
}

http://codepen.io/anon/pen/LVMzxr?editors=101

I tried your code, and for me it works correctly.

<input id="num" type="text" style="width:10px;" value=100 />

added value into attribute

$(document).ready(function() {
    // print into console as int
    var numofnodes =parseInt(document.getElementById('num').value,10);
    console.log(numofnodes);

    // print into console as string
    var numofnodes =document.getElementById('num').value 
    console.log(numofnodes);
});

Hmm, surprisingly enough, no one mentioned the event's built-in property for this.

event.target.valueAsNumber

will give the value as a number for inputs with type number without any conversions.

发布评论

评论列表(0)

  1. 暂无评论