Alguém pode me ajudar a identificar o erro?
!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="adicionador.css">
<script src="adicionar.js"></script>
<title>Adicionando Números</title>
</head>
<body>
<header>
<h1>Analisador de Números</h1>
</header>
<main>
<div>
<p>Número (entre 1 & 100):
<input type="number" name="fnum" id="numero" placeholder="DE 1 à 100">
<input type="button" value="adicionar" onclick="adicionar()">
<select name="flista" id="flista" size="10"></select>
<input class="veri" type="button" value="Verificar">
</p>
</div>
<div class="res">
</div>
</main>
</body>
</html>
let num = document.querySelector(''''''''input#fnum'''''''')
let lista = document.querySelector(''''''''select#flista'''''''')
let res = document.querySelector(''''''''div.res'''''''')
let valores = []
function isNumero(n) {
if(Number(n) >= 1 && Number(n) <= 100) {
return true
} else {
return false
}
}
function inLista(n, l) {
if (l.indexOf(Number(n)) != -1) {
return true
} else {
return false
}
}
function adicionar() {
if (isNumero(num.value) && !inLista(num.value, valores)) {
valores.push(Number(num.value))
let item = document.createElement(''''''''option'''''''')
item.text = `Valor ${num.value} adicionado`
lista.appendChild(item)
} else {
window.alert(''''''''Valor inválido ou já adicionado na lista!'''''''')
}
}
OBS:. Erro encontrado através do inspecionar: Uncaught TypeError: Cannot read property ''''value'''' of null
Vanderson Santos
Curtidas 0
Respostas
Vanderson Santos
26/08/2021
Já corrigir essa linha colocando o ID: como ''fnum'' // mas o erro persiste.
GOSTEI 0
Tiago Kappes
26/08/2021
Iai @Vanderson Santos, o <script src='adicionar.js'> deve ficar na area body abaixo de todas as tags, pois ele consume dados do html(os ids neste caso), apenas arquivos que não usam dados do html(como uma blibioteca por exemplo), podem ficar na area head. Espero ter ajudado.
GOSTEI 0