Не могу записать в базу данных Firebase с Javascript на Glitch - PullRequest
0 голосов
/ 10 ноября 2019

Я пытаюсь создать простое приложение для добавления в базу данных Firebase.

Запишите температуру и сохраните ее в базе данных с отметкой времени. Но по какой-то причине это не сработает. Я попробовал несколько разных способов и проверил все документы на сайте Firebase, но ничего не получалось. Любая помощь будет принята с благодарностью. Спасибо

https://glitch.com/edit/#!/lcjs

index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <script src="https://www.gstatic.com/firebasejs/7.3.0/firebase-app.js"></script>
    <title>Write to firebase</title>
  </head>  
  <body>
    <h1>Current Tempature</h1>

    Tempature <input type="text" id="UserData"/>
    <input type="button" id="Submit" onclick="formSubmission()" value="Submit"/>

    <p id="done">
    </p>

    <script src="script.js"></script>
  </body>
</html>

script.JS

// Your web app's Firebase configuration
var firebaseConfig = {
    apiKey: "AIzaSyDvLIcv7nEIbfnz99mhoLi8UizaJcZxHLM",
    authDomain: "lcls-332a0.firebaseapp.com",
    databaseURL: "https://lcls-332a0.firebaseio.com",
    projectId: "lcls-332a0",
    storageBucket: "lcls-332a0.appspot.com",
    messagingSenderId: "604417688851",
    appId: "1:604417688851:web:63eb89e29b81cd1a8546e6",
    measurementId: "G-N2TVNX43T6"
  };
  // Initialize Firebase
  firebase.initializeApp(firebaseConfig);
  firebase.analytics();

function formSubmission(){
  document.getElementById("done").innerHTML = "Clicked";
  var today = new Date();
  var timestamp = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds() + " " + today.getDate() + "/" + today.getMonth() + "/" + today.getFullYear();

  var myDBConn = firebase.database().ref();
  document.getElementById("done").innerHTML = "Done";
  var TempBranch = myDBConn.child("MyTempatures");

  var currentTemp = document.getElementbyID("UserData");

  TempBranch.push({ Tempature: parseInt[currentTemp.value], Time: timestamp });

  document.getElementById("done").innerHTML =
    "Your result has been successfully added!";
}

1 Ответ

0 голосов
/ 10 ноября 2019

Когда я запускаю ваш проект Glitch и отправляю значение, я вижу эту ошибку в консоли JavaScript Chrome:

script.js: 26 Uncaught TypeError: document.getElementbyName не является функцией

в formSubmission (script.js: 26)

в HTMLInputElement.onclick ((index): 11)

Не существует метода document.getElementbyName. Вы, вероятно, намеревались использовать document.getElementsByTagName или document.getElementById.

Тот же тип неправильного имени метода содержится в коде в вашем вопросе, где у вас есть getElementbyID. Вы, вероятно, тоже имели в виду document.getElementById.

Хорошей идеей будет обратить пристальное внимание на орфографию и прописные / строчные буквы, поскольку их легко не заметить при чтении кода, но при этом вся разница междурабочий и нерабочий код.

...