javascript - 为什么没有发送到谷歌火力基地?
问题描述
所以我什至不知道如何描述这个问题,我只能说当我按下“提交”按钮第一次将空数据发送到谷歌数据库但是当我刷新页面时数据自动发送(如果你看视频丢失,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);
});
解决方案
DOMContentLoaded
在事件中添加您的代码:
window.addEventListener('DOMContentLoaded', (event) => {
//add code here
});
从文档:
当初始 HTML 文档完全加载和解析时触发该
DOMContentLoaded
事件,无需等待样式表、图像和子框架完成加载。
目前,当您第一次单击submit
时,DOM
仍未完全加载,这就是您获得空字符串值的原因。
推荐阅读
- javascript - 在选择日期完整日历上显示模式弹出窗口时出错
- sql - PostgreSQL:获取所有包含大写字母的行
- python - 如何在python的for循环中打印输出之前设置标题?
- c - STM32L4R5 的 SystemClock 配置问题
- javascript - 在 Shadow DOM 中的 setTimeout 中的 event.target 发生了变化?
- go - 如何在无限 for 循环中实现 goroutine;for{} 在等待组完成后重试?
- python - Django 'tuple' 对象没有属性 'save'
- sql - 查询以根据特定时间范围过滤掉数据
- javascript - 如何找到()一个对象属性匹配多个指定数组中的值
- python - MobilenetV3 Top 5 准确性问题