Я думаю, что этот код работает отлично. Что вам не хватает, так это то, что prompt()
блокирует, и никакой javascript не может работать, пока эта функция не вернется.
Чтобы избежать этого, не используйте prompt()
, а просто <input type="text" />
. Это, очевидно, выведет вас из используемой вами синхронизированной парадигмы и потребует асинхронной реструктуризации вашего кода. Это очень легко сделать, правда. Это должно помочь вам:
<input id="campo_di_testo" type="text" /><input id="bottone_invia" type="button" value="invia" />
<script>
document.getElementById("bottone_invia").onclick = () => {
var textNode;
textNode = document.getElementById("campo_di_testo");
console.log("hai premuto invia e il testo immesso è: " + textNode.value);
};
</script>
Кроме того, избегайте использования document.write()
, как указывает Ибрагим. Он перезапишет дерево DOM и удалит элементы <input>
.
Вы можете использовать <textarea>
так:
<textarea id="area"></textarea>
// in JS:
var area = document.getElementById("area");
area.value += "nuova riga da appendere" + "\n";
^^^^ don't forget to append the newline
или, аналогично, любой <div>
как этот:
<div id="output"></div>
// in JS:
var output = document.getElementById("output");
output.innerText += "nuova riga da appendere" + "<br />";