将两个文本字段存储到Firebase

时间:2016-10-07 22:07:09

标签: javascript html firebase firebase-realtime-database

我有两个输入字段,一个要求用户发送电子邮件,另一个要求用户都市。一旦用户点击提交按钮,我想将该信息存储在Firebase下的子项“potentialCities”下。我知道如何使用一个字段将此信息发送到数据库,但我无法将其发送到两个字段。

我的表格:

enter image description here

HTML表单:

<form id="myform" method="post">
    <input type="email" id="userCityEmail" placeholder="Enter email">
    <input type="text" id="cityTextField" placeholder="City">
    <button id="citySubmitButton" onclick="submitCityClick(); return false;">Submit</button>
</form>

JS文件:

var userCityEmail = document.getElementById('userCityEmail');
var cityTextField = document.getElementById('cityTextField');
var citySubmitButton = document.getElementById('citySubmitButton');

function submitCityClick() {
  var firebaseRef = firebase.database().ref();
  var userEmail = userCityEmail.value;
  var userCity = cityTextField.value;

  firebaseRef.child("potentialCities").push().set(userEmail).set(userCity);
}

单击按钮时,不会向Firebase数据库发送任何内容。我的问题是,从两个文本字段向一个孩子发送信息的最佳方式是什么?

2 个答案:

答案 0 :(得分:0)

我不确定它是否是存储值的最佳,最有效的方式,但我能够通过执行以下操作获得最终结果:

var userCityEmail = document.getElementById('userCityEmail');
var cityTextField = document.getElementById('cityTextField');
var citySubmitButton = document.getElementById('citySubmitButton');

function submitCityClick() {
  var firebaseRef = firebase.database().ref();
  var userEmail = userCityEmail.value + " " + cityTextField.value;

  firebaseRef.child("potentialCities").push().set(userEmail);
}

所以我所做的只是将两个值连接成一个变量。

答案 1 :(得分:0)

如果emailcity已经是密钥,您可以做的就是将设置为特定的

firebaseRef.push().set({
  city: userCity ,
  email: userEmail 
});