Alguém pode me ajudar a identificar o erro?

26/08/2021

0



!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

Vanderson Santos

Responder

Posts

26/08/2021

Vanderson Santos

Já corrigir essa linha colocando o ID: como ''fnum'' // mas o erro persiste.
Responder

12/12/2021

Tiago Kappes

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.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar