Есть несколько способов получить пользовательский ввод в javascript.
- Использование
prompt()
.Prompt - это функция, которая позволяет вам вызвать диалоговое окно, в котором вы можете ввести текст, цифры и т. Д. Текст, который вы вводите в качестве аргумента, будет действовать как заголовок всплывающего предупреждения.
Взгляните на фрагмент ниже для примера:
let input = prompt("Enter a number:"); // Input in string format
let triple = input * 3; // Convert string to integer by using * operation
console.log(triple);
- Другой способ получения пользовательского ввода - через элементы ввода HTML.Существует несколько различных типов элементов ввода, которые вы можете использовать, такие как пароль, число, дата, текст и т. Д. ... Для вашего вопроса вы можете использовать
number
.Вы можете создать ввод числа, например, в HTML:
<input type="number" id="number" value="0" />
Здесь атрибут type
указывает, что мы будем вводить число в качестве ввода.Атрибут id
предоставляет нам способ ссылки на этот элемент ввода в javascript, чтобы мы могли позднее получить число, введенное в него.А атрибут value
является необязательным атрибутом, который задает значение по умолчанию для поля ввода.
При работе с полями ввода необходимо указать, когда javascript должен проверять поле ввода для значения.Вы можете сделать это, добавив прослушиватель событий, чтобы ваш javascript запускал часть кода каждый раз, когда пользователь вводит число.Вот пример добавления прослушивателя событий в наше поле ввода номера, чтобы оно вызывало изменение числа в нем:
document.getElementById('number').addEventListener('keyup', function(e) {/* do code */});
В приведенной выше строке мы ссылаемся на поле ввода через его идентификатор (number
) и добавив в него прослушиватель событий ввода.
Используя этот прослушиватель событий, мы можем использовать ключевое слово this
внутри функции для ссылки на само поле ввода.Это позволяет нам сделать this.value
, чтобы получить значение введенного числа.Здесь я также использую e.keyCode
, чтобы определить, какая клавиша была нажата.Если keyCode равен 13 ( ENTER ), то код будет регистрировать результат, в противном случае (иначе) он ничего не будет делать.
См. Рабочий пример ниже:
document.getElementById('number').addEventListener('keyup', function(e) {
if(e.keyCode == 13) { // Check if enter key pressed
let triple = this.value * 3; // Get value of text box using this.value
console.log(triple);
}
});
<input type="number" id="number" value="0" />