Свойство не распознано

#javascript #html #firebase #google-cloud-firestore

# #javascript #HTML #firebase #google-облако-firestore

Вопрос:

Я пытаюсь присвоить своему h1 тегу значение, которое я извлекаю из своей базы данных Firestore. однако я продолжаю получать эту ошибку: TypeError: не удается установить для свойства ‘innerHTML’ значение null … Я не знаю, почему я это понимаю.

В моем wait.html я дал h1 id="idnumberwaiting" . Затем в том же файле я связал свой скрипт javascript.

Затем в моем JS-скрипте я попробовал это:

 document.getElementById("idnumberwaiting").innerHTML = roomIDD
 

Я думаю, что я все сделал правильно…

Однако кнопка воспроизведения, в которую я добавил addEventListener, находится в отдельном HTML. Итак, в основном все, что я пытаюсь сделать home.html , это указать, где находится моя кнопка воспроизведения, я хочу нажать эту кнопку, а затем перейти на wait.html страницу и загрузить значение из Firebase.

Это мой html-код:

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Rock Paper Scissors Game</title>
    <link rel="stylesheet" href="wait.css">
</head>
<body>
    <header><a href="home.html">Rock Paper Scissors</a></header>
    <div class="result">
        <p id="pharagraph">Waiting for your opponent to join.</p>
    </div>
    <div class="choices">
            <div id="ch1" class="choice">
                <p class="lablechoice">ROOM ID</p>
                <h1 id="idnumberwaiting" class="lablechoice">13798</h1> 
                <div class="lds-ripple"><div></div><div></div></div>
            </div>
    </div>
    <!-- The core Firebase JS SDK is always required and must be listed first -->
    <script src="https://www.gstatic.com/firebasejs/8.1.1/firebase-app.js"></script>
    <!-- TODO: Add SDKs for Firebase products that you want to use
     https://firebase.google.com/docs/web/setup#available-libraries -->
     <script src="https://www.gstatic.com/firebasejs/8.1.1/firebase-firestore.js"></script>
     <script src="game.js"></script>
</body>
</html>
 

Это мой JS-код, в котором я пытаюсь присвоить ему значение:

 const db = firebase.firestore();
playButton.addEventListener("click", function(){
    var roomIDD = roomID();
    db.collection('game').add({
        playerone : document.getElementById("nameinput").value ,
        playeronechoice : "",
        players : 1,
        playertwo : "",
        playertwochoice : "",
        roomid : roomIDD,
        scoreone : 0,
        scoretwo : 0
    }).then(function(){
        document.getElementById("idnumberwaiting").innerHTML = roomIDD.toString;
        setTimeout(function(){location.replace("wait.html");},2000); 
    });
});
 

Комментарии:

1. Где находится ваш элемент с идентификатором nameinput ? Я не могу найти его из вашего опубликованного кода 😕

2. Привет, Мара, это также есть в другом HTML-файле вместе с кнопкой воспроизведения