Javascript 如何使用图中所示的相同表格创建url

Javascript 如何使用图中所示的相同表格创建url,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,一切都很好,但我想用相同的contactUs表和url来创建url。我正在尝试做的是,当用户被请求表单时,它会显示表中的所有内容 var配置={ apiKey:“=========================”, authDomain:“======================”, 数据库URL:“======================”, projectId:“================”, storageBucket:“=========================

一切都很好,但我想用相同的contactUs表和url来创建url。我正在尝试做的是,当用户被请求表单时,它会显示表中的所有内容

var配置={
apiKey:“=========================”,
authDomain:“======================”,
数据库URL:“======================”,
projectId:“================”,
storageBucket:“============================”,
messagingSenderId:“===============================================================”
};
//初始化firebase
firebase.initializeApp(配置);
var database=firebase.database();
var storage=firebase.storage();
var firebasecontscolection=database.ref().child('ContactUs');
函数提交器(){
风险值数据={
名称:$(“#名称字段”).val(),
电子邮件:$('#EmailsField').val(),
主题:$(“#主题字段”).val(),
消息:$('#MessageField').val(),
//文件:$('#fileButton').val(),
};
firebaseContactsCollection.push(数据);
};
var fileButton=document.getElementById('fileButton');
函数URL(快照){
var url=snap.downloadURL;
firebase.database().ref().child('ContactUs').push(url);
}
函数img(){
var folder=this.files[0];
var getf=storage.ref(“ContactUsImagesfiles/”+new Date());
put(文件夹),然后(URL);
}
fileButton.onchange=img;

您的问题是每次保存数据时都在调用
push()
push()
方法不同于
set()
方法,它创建一个唯一的ID,并将数据作为该ID下的子项存储。而
set()

您可以,以获得一个唯一的ID来使用。首先,作为一个全局变量或可以传递到函数中的某些东西来执行此操作

// Get a key for a your form
var firebaseContactsCollection = database.ref().child('ContactUs');
var newFormSubmissionKey = firebaseContactsCollection.push().key;

function submitOrder() {
  // ...
  firebaseContactsCollection.child(newFormSubmissionKey).set(data);
}

function URL(snap) {
  var url = snap.downloadURL; 
  firebaseContactsCollection.child(newFormSubmissionKey).child("url").set(url);
}

当您在第二个函数中存储URL时,不要忘了同时引用要将其保存到的节点。

谢谢您的回复。我正试着解决你的问题。我不知道这有什么错,我一直在尝试,但我无法得到它,我仍然是新的在firebase。请编辑一些代码好吗?我把我的代码放在jsfiddle[link]()中。谢谢你的帮助。我可以看到你添加了许多新的尝试,以使用不同的方式存储数据。你一次做的事情太多了,而不是按照一个策略来执行并坚持那个策略。尽量不要把事情复杂化太多。我对你的小提琴做了一些修改,希望能有所帮助。我用我的代码检查小提琴。你已经上传了吗?再次谢谢。是的,你正在看你的基本版本的小提琴。请看你的新版本:我现在知道了,一切都解决了。谢谢你的帮助,丹尼斯