I wanted to store each input i submit, so i used firebase realtimeDB i modified the event of submiting with the code under, but each time its not creating a new file but replacing the old one's content Any solutions?? thanks
const db = getDatabase();
let d = new Date();
form.addEventListener("submit", (event) => {
event.preventDefault();
let inp = document.getElementById("inp").value;
set(ref(db, "newSec/" + d.getTime()), { message: inp });
});
You're creating the d value once, no matter how often the form is submitted. To get a new date for each time the form is submitted:
const db = getDatabase();
form.addEventListener("submit", (event) => {
event.preventDefault();
const d = new Date(); // 👈
const inp = document.getElementById("inp").value;
set(ref(db, "newSec/" + d.getTime()), { message: inp });
});
Or shorter:
const db = getDatabase();
form.addEventListener("submit", (event) => {
event.preventDefault();
const inp = document.getElementById("inp").value;
set(ref(db, "newSec/" + Date.now()), { message: inp });
// 👆
});
On Firebase I'd recommend using its built-in push operation though, which does chronological ordering - but also works reliably even when you have many users doing this at the same time:
const db = getDatabase();
form.addEventListener("submit", (event) => {
event.preventDefault();
const inp = document.getElementById("inp").value;
push(ref(db, "newSec"), { message: inp });
// 👆
});