解决了!为什么什么都没有发送到Google Firebase?

时间:2019-06-06 06:08:18

标签: javascript firebase firebase-realtime-database

所以我什至不知道如何描述问题,我只能说,当我按下“提交”按钮时,第一次将空数据发送到google数据库,但是当我刷新页面时,数据会自动发送(请参阅vid,如果您输了,https://imgur.com/a/D1ySswQ

----------我的代码---------

let name = document.getElementById("name").value;
let medicName = document.getElementById("medic-name").value;
let medicTime = document.getElementById("medic-time").value;
let notes = document.getElementById("notes").value;

 var firebaseConfig = {
    apiKey: "AIzaSyB444udd_UeONooSUbjOplVqrElpHv4Hgc",
    authDomain: "my-first-project-9a87e.firebaseapp.com",
    databaseURL: "https://my-first-project-9a87e.firebaseio.com",
    projectId: "my-first-project-9a87e",
    storageBucket: "",
    messagingSenderId: "15533904472",
    appId: "1:15533904472:web:b260608b9c15e8f3"
  };
  firebase.initializeApp(firebaseConfig);
  let MedicalData = firebase.database().ref('Medical Data');

       document.getElementById("submit").addEventListener("click", function(event){
    event.preventDefault()
    var data = {
        name: name,
        MedicName: medicName,
        MedicTime: medicTime,
        Notes: notes
      }
    MedicalData.push(data);
  });

已解决! 所以我不知道发生了什么,甚至不知道为什么这可以解决问题,但是我更改了这部分代码 来自

document.getElementById("submit").addEventListener("click", function(event){
    event.preventDefault()
    var data = {
        name: name,
        MedicName: medicName,
        MedicTime: medicTime,
        Notes: notes
      }
    MedicalData.push(data);
  });

document.getElementById("submit").addEventListener("click", function (event) {
  event.preventDefault()
  var data = {
    name: document.getElementById("name").value,
    MedicName: document.getElementById("medic-name").value,
    MedicTime: document.getElementById("medic-time").value,
    Notes: document.getElementById("notes").value
  }
  MedicalData.push(data);
});

1 个答案:

答案 0 :(得分:0)

DOMContentLoaded事件中添加您的代码:

window.addEventListener('DOMContentLoaded', (event) => {
//add code here
});

来自docs

  

在完全加载并解析了初始HTML文档之后,DOMContentLoaded事件就会触发,而无需等待样式表,图像和子帧完成加载。

当前,当您第一次单击submit时,DOM仍未完全加载,这就是为什么您得到空字符串值的原因。