1

I'm a beginner in Javascript so I am currently attempting to code a random "machine" that takes a two parameters, tha minimal value and the maximal value, which the user types in an input="number", and displays a random number between those values, but the problem is that the random number doesn't display on the screen when I hit the button "Generate"

        <form>
            <div id="minimal_num">
                <label for="min">Minimal Value</label>
                <input type="number" name="min" required>
            </div>
            <p id="rnum"></p>
            <div id="maximal_num">
                <label for="max">Maximal Value</label>
                <input type="number" name="max" required>
            </div>
            <br style="clear: both;">
            <button id="generator" onclick="random_number()">Generate</button>
        </form>
    </div>
    <script type="text/javascript">
        function random_number() {
            document.getElementById("rnum").innerHTML = Math.floor(Math.random() * min) + max;
        }
    </script>
AZZ
  • 43
  • 5

1 Answers1

0

Try this:

    function random_number() 
   {
  if(min !== '' && max !== '')
 {
  var min = parseInt(document.getElementById("min_num").value);
        var max = parseInt(document.getElementById("max_num").value);
        var result = Math.floor(Math.random() * (max - min + 1) + min);
        document.getElementById("rnum").innerHTML = result;
  } 
   }
<form>
  <div id="minimal_num">
    <label for="min">Minimal Value</label>
    <input id="min_num" type="number" name="min" required>
  </div>
  <p id="rnum"></p>
  <div id="maximal_num">
    <label for="max">Maximal Value</label>
    <input id="max_num" type="number" name="max" required>
  </div>
  <br style="clear: both;">
  <a id="generator" href="#" onclick="random_number()">Generate</a>
</form>
Peter
  • 314
  • 1
  • 11