![](/img/trans.png)
[英]Executing code inside a <script> tag with an external source
[英]JavaScript not executing inside script tag
這非常令人尷尬,因為這可能是您見過的最簡單的代碼,但有人可能會遇到問題; 我有這個簡單的 html 文檔:
<script>
function rollDie() {
let result = Math.round(Math.random() * 6);
return result < 1 ? result + 1 : result;
}
function updateView() {
let getResult = rollDie();
console.log(getResult);
document.getElementById('d6-a').innerHTML = getResult;
}
</script>
<input id='d6-a' name="d6-a" type='submit' onsubmit="updateView" />
就是這樣——字面意思就是這樣。 是的,這就是整個文件。 沒有 <,DOCTYPE>,沒有 <html>,沒有 <head>; 沒有<body>,但我(現在仍然)認為這一切都很好,任何現代瀏覽器都應該編譯。 無論如何渲染和運行它都沒有問題。
它確實渲染得很好; 但是當我點擊輸入時沒有任何反應。 HTML 未更新,控制台中未記錄任何內容(甚至沒有任何錯誤)。 這告訴我腳本只是被直接忽略了,但是為什么呢? 我試過:將 <script> 移動到文檔的底部,onsubmit="updateView", onsubmit="updateView()", onclick (每個都像以前一樣),將輸入元素更改為 <button> (我原來的它),將輸入元素更改為 <div>。 它。 沒有。 工作。 請幫忙? (順便說一句,我正在使用谷歌瀏覽器)
onsubmit 不適用於輸入標簽。您應該將其包裝在表單元素中,並且必須將 onsubmit 事件處理程序添加到表單元素中。
<form onsubmit="updateView()">
<input id='d6-a' name="d6-a" type='submit' />
</form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.