Есть ли способ заставить этот тип входного числа работать? [HTML5] - PullRequest
0 голосов
/ 07 мая 2020

Очень просто, я хочу создать кнопку, которая при нажатии генерирует случайное число от 0 до x (что я сделал), где x - это числовой ввод, но на данный момент он просто возвращает NaN.

function randomGen() {
  document.getElementById("numberText").innerHTML = Math.round(Math.random()*amtNum)
}
<form>
  <label for="amtNum">1 To What?</label>
  <input type="number" id="amtNum" name="amtNum" step="1">
</form>
<p id="numberText"></p>
<button id="RandomButton" onclick="randomGen()">Click for your random number</button>

Ответы [ 2 ]

0 голосов
/ 07 мая 2020

Это не то, как вы читаете значения формы в современных браузерах; он работал только в Inte rnet Explorer, если я правильно помню. Вам необходимо использовать методы DOM, например:

function randomGen() {
  var amtNum = parseInt(document.getElementById("amtNum").value, 10);
  if (!isNaN(amtNum)) {
    document.getElementById("numberText").innerHTML = Math.round(Math.random()*amtNum);
  }
}
<form>
  <label for="amtNum">1 To What?</label>
  <input type="number" id="amtNum" name="amtNum" step="1">
</form>
<p id="numberText"></p>
<button id="RandomButton" onclick="randomGen()">Click for your random number</button>
0 голосов
/ 07 мая 2020

Вы не определили переменную amtNum. Пожалуйста, добавьте эту строку в начало вашего скрипта -

const amtNum = document.getElementById("amtNum").value;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...