Ошибка в вызове функции
Всем привет у меня есть два инпута, куда я ввожу числа. Хочу добавить кнопку по нажатию на которую эти поля будут очищаться, вроде бы все написал правильно, но функция не отрабатывает и выдает следующую ошибку: TypeError: Cannot set property 'value' of null. Не пойму в чем ошибка.
<p>Первое число: <input type="text" id="num1"></p> <p>Второе число: <input type="text" id="num2"></p> <button onclick="clean()">Clean</button>
function clean(){
document.getElementById("num1").value = "";
document.getElementById("num2").value = "";
}
|
причина ошибки описана https://learn.javascript.ru/onload-ondomcontentloaded
пример решения
<div id="trackedBlock">
<p>Первое число: <input type="text" id="num1"></p>
<p>Второе число: <input type="text" id="num2"></p>
</div>
<button id="clearBlock">Clean</button>
<script>
document.addEventListener("DOMContentLoaded", () => {
clearBlock.addEventListener("click", () => {
[...trackedBlock.querySelectorAll('input')].forEach(el=>el.value="")
});
});
</script>
|
mateorich,
Vlasenko Fedor, :-? что не так?
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script>
function clean(){
document.getElementById("num1").value = "";
document.getElementById("num2").value = "";
}
</script>
</head>
<body>
<p>Первое число: <input type="text" id="num1"></p>
<p>Второе число: <input type="text" id="num2"></p>
<button onclick="clean()">Clean</button>
</body>
</html>
|
рони, специально ведь дал ссылку на DOMContentLoaded
в своем примере вы объявили функцию clean до ее использования в примере ТС функция clean не определена в <button onclick="clean()">Clean</button> так как инициализация идет уже после в коде |
Цитата:
|
Цитата:
|
<p>Первое число: <input type="text" id="num1"></p>
<p>Второе число: <input type="text" id="num2"></p>
<button onclick="clean()">Clean</button>
<script>
function clean(){
document.getElementById("num1").value = "";
document.getElementById("num2").value = "";
}
</script>
рони не элементов, а самой функции нет <button onclick="console.log(clean),clean()">Clean</button> Все работает отлично! |
Vlasenko Fedor,
почему у меня всё работает?
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<p>Первое число: <input type="text" id="num1"></p>
<p>Второе число: <input type="text" id="num2"></p>
<button onclick="clean()">Clean</button>
<script>
function clean(){
document.getElementById("num1").value = "";
document.getElementById("num2").value = "";
}
</script>
</body>
</html>
|
вариант с ошибкой 'value' of null, строка 9, id не дописано.
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<p>Первое число: <input type="text" id="num"></p>
<p>Второе число: <input type="text" id="num2"></p>
<button onclick="clean()">Clean</button>
<script>
function clean(){
document.getElementById("num1").value = "";
document.getElementById("num2").value = "";
}
</script>
</body>
</html>
|
Vlasenko Fedor,
Все дело в строке 11 |
| Часовой пояс GMT +3, время: 02:12. |