So I want to submit this web form to firebase using js script and live server that in visual studio code. But after the submit, there is a child column with random numbers like this . I want to give a value of the name column "lakshan" to that column. How I do that ?
Current result is messages is Object
I want messages as Array
This is the js code
// Initialize Firebase (ADD YOUR OWN DATA)
var firebaseConfig = {
apiKey: "api key here",
authDomain: "test-a137f.firebaseapp.com",
databaseURL: "https://test-a137f.firebaseio.com",
projectId: "test-a137f",
storageBucket: "test-a137f.appspot.com",
messagingSenderId: "id here",
appId: "appId goes here",
measurementId: "the measurementId"
};
firebase.initializeApp(firebaseConfig);
firebase.analytics();
// Reference messages collection
var messagesRef = firebase.database().ref('Admins');
// Listen for form submit
document.getElementById('contactForm').addEventListener('submit', submitForm);
// Submit form
function submitForm(e){
e.preventDefault();
// Get values
var name = getInputVal('name');
var company = getInputVal('company');
var email = getInputVal('email');
var phone = getInputVal('phone');
var message = getInputVal('message');
// Save message
saveMessage(name, company, email, phone, message);
// Show alert
document.querySelector('.alert').style.display = 'block';
// Hide alert after 3 seconds
setTimeout(function(){
document.querySelector('.alert').style.display = 'none';
},3000);
// Clear form
document.getElementById('contactForm').reset();
}
// Function to get get form values
function getInputVal(id){
return document.getElementById(id).value;
}
// Save message to firebase
function saveMessage(name, company, email, phone, message){
var newMessageRef = messagesRef.push();
newMessageRef.set({
name: name,
company:company,
email:email,
phone:phone,
message:message
});
}
The random number you get is a unique key generated by the push()
method.
If you want to use your own key you need to use the set()
method as follows:
var messagesRef = firebase.database().ref('Admins');
var childNode = 'lakshan';
// Or var childNode = 'Alex';
// Or var childNode = 'Denis';
messagesRef.child(childNode).set({
name: name,
company:company,
email:email,
phone:phone,
message:message
});
This is how I wanted. Thank you Renaud ;)
var childNode = name;
// Or var childNode = 'Alex';
// Or var childNode = 'Denis';
messagesRef.child(childNode).set({
name: name,
company:company,
email:email,
phone:phone,
message:message
});
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.