Не работает нажатие на кнопку
При нажатии на кнопку, мне должно вывести число с поля ввода, но когда я нажимаю на нее, ничего не происходит. Как это исправить?
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
var numbers = document.getElementById("num").value;
function Count_it(){
alert(numbers);
}
</script>
<input type = "number" name = "knopka" id = "num">
<input type = "button" onclick = "Count_it" value = "Обчислити">
</body>
</html>
Ответы (2 шт):
Вы забыли добавить скобки - вызов функции
<input type="button" onclick="Count_it()" value ="Обчислити">
Также, на момент выполнения скрипта, когда вы получаете значение, у вас ещё нет этого элемента на странице.
Попробуйте добавить это
document.getElementById("num").value; в функцию
function Count_it(){
var numbers = document.getElementById("num").value;
alert(numbers);
}
Ещё вам необходимо убрать пробелы до и после знака равно (в атрибутах), т.к. браузер может распознавать текст, как разные атрибуты.
- В тэгах
<script>никто не пишет, пишут в файлах.js, которые подключают либо вheadлибо вbody - Переменная
numbers(у тебя) считывает валуе только на инициализации документа, т.е. один раз а не при каждом нажатии - Равно с пробелами в
htmlне приветствуется, это не яп а язык разметки onclickтоже никто уже не использует, ибо существуют эвенты- Алерты желательно не трогать, ибо они для клиентов(пользователей, не разрабов), используй
console.log();, а вообще вместо стд алертов используют библиотеки, например sweetalerts
Стак здесь: onclick = "Count_it", переделай на onclick="Count_it()"
Вот твой код, но с использованием jquery, с ним проще работать ибо меньше букав и проще разбираться
$('#button').click(()=>{
const value = $('#num').val();
console.log(value * value);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="number" id="num">
<input type="button" id="button" value="Рассчитать квандрантб">
(ставьте дизлайки за jq, кулсторибоб)