У меня есть поле ввода числа и кнопка, предупреждающая при нажатии с надписью «(пользовательский ввод) Элементы, добавленные в корзину», это работает, но вместо числа отображается undefined - PullRequest
0 голосов
/ 07 мая 2020

Обратите внимание, что я использовал тип ввода число вместо текста, может быть, это проблема?

, потому что код работает нормально, а функция работает, но отображает « undefined Items add to cart» вместо фактического числа, введенного пользователем, и я не знаю, почему

Это код здесь:

<!DOCTYPE html>

<html>

<head>
<script type="text/javascript">
function BuyBtn() {
var num = document.getElementsByClassName('NumOfItems').value;
var num2 = parseInt(num);
window.alert(num2.value + ' Items added to cart')
}
</script>
</head>

<body>
<label>Quantity:
<input class="NumOfItems" type="number" min="0" max="10" /></label>
<input onclick="BuyBtn()" type="submit" value="Buy" />
</body>

</html>

1 Ответ

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

Здесь две ошибки. Во-первых, getElementsByClassName возвращает объект в виде массива, поэтому вам нужно указать нужный элемент. Во-вторых, вы уже получили значение, поэтому добавлять value в num2.value нет необходимости:

function BuyBtn() {
  var num = document.getElementsByClassName('NumOfItems')[0].value;
  var num2 = parseInt(num);
  alert(num2 + ' Items added to cart')
}
<label>Quantity:
<input class="NumOfItems" type="number" min="0" max="10" /></label>
<input onclick="BuyBtn()" type="submit" value="Buy" />

Обратите внимание, что num2 не требуется, alert(parseInt(num) + ' Items added to cart') будет достаточно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...