Search code examples
javascriptdom-eventsfunction-call

Function call repeating itself


I've just started JavaScript and I am facing a problem. I've written a script in which I am calling a function. I don't know why this script is calling itself twice.

The code is as below:

<html>
<head>

<script type="text/javascript">

var randomNo1 = Math.floor(Math.random()*10);
var randomNo2 = Math.floor(Math.random()*10);

window.onload = ask;

function ask()
{
    alert("How much " + randomNo1 + " times " + randomNo2 + "?");
}

function question()
{
    var product = randomNo1 * randomNo2;
    var stdAnswer = document.getElementById('answer').value;
    
    if(stdAnswer == product)
    {
        alert("Very good!")
        //generate new nos
        randomNo1 = Math.floor(Math.random()*10);
        randomNo2 = Math.floor(Math.random()*10);
        ask();
    }
    else
    {
        alert("No. Please try again.");
        ask();
    }
}
</script>

</head>

<body>
<form>
Enter answer: <input type="text" id="answer" />
<input type="submit" value="Check" onClick="question()" />
</form>
</body>
</html>

Solution

  • Add action="#" to your form, to avoid page being refreshed when form is submitted.

    <form action="#">
    Enter answer: <input type="text" id="answer" />
    <input type="submit" value="Check" onClick="question()" />
    </form>​