javascript - How can i save a value in the textbox to a variable - Stack Overflow

admin2025-04-06  0

I want to store the value given in the text box in a variable. I am beginner to javascript. Please help me out. Here s my code.

<!DOCTYPE html>
<html>
<body>

Days of Journey: <input type="text" id="doj" name="daysofjourney">
<input type="button" value="submit" onclick="dayscounter()">

<script language="javascript" type="text/javascript">
var travel = document.getElementById("doj").value;

function dayscounter() {
    var days;
    for(days = 1; days <= travel; days++) {
        document.write(days);
    }
}
</script>

</body>
</html>  

I want to store the value given in the text box in a variable. I am beginner to javascript. Please help me out. Here s my code.

<!DOCTYPE html>
<html>
<body>

Days of Journey: <input type="text" id="doj" name="daysofjourney">
<input type="button" value="submit" onclick="dayscounter()">

<script language="javascript" type="text/javascript">
var travel = document.getElementById("doj").value;

function dayscounter() {
    var days;
    for(days = 1; days <= travel; days++) {
        document.write(days);
    }
}
</script>

</body>
</html>  
Share Improve this question edited Nov 10, 2013 at 13:23 akinuri 12.1k10 gold badges75 silver badges107 bronze badges asked Nov 10, 2013 at 12:56 user2969182user2969182 231 gold badge1 silver badge4 bronze badges 2
  • Hi, have a look at this question: stackoverflow./questions/11563638/… – homtg Commented Nov 10, 2013 at 13:00
  • Checked. But cant get my answer. I have used a loop to find out whether it s working or not. My output was none.If i replace the value of travel by any number i am getting output. Thats wat my problem is, the variable value is not stored. :( – user2969182 Commented Nov 10, 2013 at 13:05
Add a ment  | 

3 Answers 3

Reset to default 2

You nearly had it already...

function dayscounter() {
    var travel = document.getElementById("doj").value;
    var days;
    for(days=1;days<=travel;days++)
    {
        document.write(days);
    }
}

The problem was, that your first assignment of the variable travel is made as soon as the HTML code is loaded. The user can't have made an input yet at that time, thus the variable stays empty. If you include document.getElementById("doj").value inside the function, you will get the value at that specific time you launch the function.

Just parse value to int

var travel = +(document.getElementById("doj").value;);

You can use 'value' attribute of an text input to set it's value like:

<input type="text" id="textid" value="value content" />

and you can do your function like this:

<script language="javascript" type="text/javascript">
function dayscounter()
{   
    var travel = document.getElementById("doj").value;
    var days;
    var result = "";

    for (days = 1; days <= parseInt(travel); ++days)
    {
        document.getElementById("result").value += " " + days;
    }
}
</script>


Days of Journey:
<input type="text" id="doj" name="daysofjourney" />
<input type="button" value="submit" onclick="dayscounter()" />

<p>
    <input type="text" id="result" />
</p>
转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1743872505a222179.html

最新回复(0)