error: Uncaught TypeError: Невозможно установить свойство 'innerHTML' для null

javascript html html5 dom getelementbyid

51290 просмотра

1 ответ

Я продолжаю получать сообщение об ошибке "Uncaught TypeError: Невозможно установить свойство 'innerHTML' из null", когда я пытаюсь запустить эту программу в Chrome. Я не знаю, что я делаю не так, и любая помощь будет оценена.

<!DOCTYPE html>
<html>
<head>
</head>
<script>
    var x = "hey";
    var counter = 1;
    var button = document.getElementById("button");
    var div = document.getElementById("box");
    var text = document.getElementById("text");
    var sound = document.getElementById("sound");
    var array=[ "thanks for clicking", "keep on clicking", "click one more time", "why do you keep on clicking me?", "stop clicking me!"];
function thing(file){
    var y = array[Math.floor(Math.random() * array.length)];
        if (x == y){
            while (y == x){
                var y = array[Math.floor(Math.random() * array.length)];
        }   
        }
    form1.text.value=y;

    x = y;
sound.innerHTML = "<embed src=\""+file+"\"hidden=\"true\"autostart=\"true\" loop=\"false\"/>";

}
</script>
</head>
<body>
<form name="form1">
<input type="button" id="button" value="click" onClick="thing('sound.mp3')" />
    <input type="text" id="text" value="hey" />
</form>
<div id="sound">
<p>
</p>
</div>
</body>
</html>
Автор: James Dorfman Источник Размещён: 12.11.2019 09:39

Ответы (1)


37 плюса

Решение

Дождитесь загрузки окна:

window.onload = function()
{
    //yourJSCodeHERE
}

или переместите свой JS после </body>тега.

Автор: Cilan Размещён: 19.12.2013 11:35
Вопросы из категории :
32x32