所以我什至不知道如何描述问题,我只能说,当我按下“提交”按钮时,第一次将空数据发送到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);
});
答案 0 :(得分:0)
在DOMContentLoaded
事件中添加您的代码:
window.addEventListener('DOMContentLoaded', (event) => {
//add code here
});
来自docs:
在完全加载并解析了初始HTML文档之后,
DOMContentLoaded
事件就会触发,而无需等待样式表,图像和子帧完成加载。
当前,当您第一次单击submit
时,DOM
仍未完全加载,这就是为什么您得到空字符串值的原因。