😈╰•ALBERTO•╯😈 sto facendo alcune prove ma non compare neanche a me l'output... A vedere così il codice (un po' incasinato XD) non trovo l'errore. Faccio qualche modifica, eventualmente se risolvo ti aggiorno con la risposta 😉
😈╰•ALBERTO•╯😈 Aggiornamento: ti posso dire che il problema riguarda comunque la stringa messaggioUno.innerHTML="Compila il campo di testo.";
anche se di per sé è corretta (semplicemente l'output non viene stampato). Se invece scrivi ad esempio console.log("Compila il campo di testo.");
, questo viene mostrato nella Console, significa quindi che il resto è corretto.
Ho trovato un modo per risolverlo: avendo sempre messaggioUno.innerHTML="Compila il campo di testo.";
significa che accedi sempre allo stesso elemento, con ID "messaggioUno". Quindi ti consiglio prima di tutto, due cose:
- al posto di P, H2, definisci i blocchi come <div>, quindi:
<div id="messaggio_uno"></div>
<div id="messaggio_due"></div>
Poi se vuoi che l'output (all'interno di questo blocco <div> predisposto) sia all'interno di un <p> piuttosto che <h2>, questo lo puoi fare gestendo l'output quindi del tipo ...innerHTML="<h2>testo</h2>";
Quindi, all'interno della funzione aggiungiProdotto(), il messaggio lo mostri per l'altro blocco ovvero: messaggioDue.innerHTML="Compila il campo di testo.";
. Ho sostituito messaggioUno con messaggioDue, dove ovviamente avevi già definito tu per semplicità:
var messaggioUno = document.getElementById("messaggio_uno");
var messaggioDue = document.getElementById("messaggio_due");
Quindi in conclusione, evita sovrapposizioni del tipo funzioni diverse che scrivono su un blocco con lo stesso ID. Meglio creare blocchi separati, con ID separati e quindi una funzione diversa scrive su un blocco diverso, così eviti problemi 🙂
certo, queste cose si fanno solo come verifica, per identificare un eventuale errore, è in questo mdoo che poi ho potuto capire l'origine del problema e quindi risolverlo 🙂