Allo stato attuale il codice è questo
codice HTML:
<input type="number" id="primoInt" class="display" value="0" />
<select id="operazione" name="operazione" class="tasto">
<option selected disabled>▼</option>
<option value="somma">+</option>
<option value="sottrai">-</option>
<option value="moltiplica">*</option>
<option value="dividi">/</option>
</select><br />
<input type="number" id="secondoInt" class="display" />
<button id="risolvi" class="tasto">=</button><br />
<input type="text" name="risultato" id="uguale" class="display" readonly/>
codice:
let primoInt;
document.getElementById("risolvi").addEventListener("click", calcola);
function calcola() {
primoInt = document.getElementById(primoInt).value;
if (operazione == "somma") {
document.getElementById("uguale").value = primoInt;
}
}
In questo caso, dichiarando la variabile globalmente, senza inizializzarla, l'errore è:
Uncaught TypeError: Cannot read properties of null (reading 'value') at HTMLButtonElement.calcola
mentre se faccio il let in calcola() ottengo l'errore di mancata inizializzazione, e notare che ho un value="0" nel tag, altro che null!
La cosa che trovo strana è che con input text funzionerebbe tutto ma rischierei l'immissione di caratteri non numerici.