#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-файле вместе с кнопкой воспроизведения