簡體   English   中英

JavaScript 未在腳本標簽內執行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM