通过单选按钮将值插入firebase

时间:2018-06-06 18:08:57

标签: javascript html firebase firebase-realtime-database

1。所以基本上我可以从单选按钮中检索值,这里是代码

var radios = document.getElementsByName("pointS");
for (var i = 0, length = radios.length; i < length; i++){
    if (radios[i].checked){
        // do whatever you want with the checked radio
        alert(radios[i].value);
        // only one radio can be logically checked, don't check the rest
        break;
    }
}

2。所以我现在尝试将单选按钮的值发送到Firebase,但失败了。

    var database = firebase.database();
    var p = database.firebase.ref("points");
    var data = radios;
    database.ref("points").push(data);

3.但如果我使用此代码,数据可以轻松插入到firebase中。这只是为了测试数据库的连接。

    var database = firebase.database();
    var point = database.ref("current point");
    var data = { 
       point:50
    }
    database.ref("current point").push(data);
  1. 这是我使用的HTML代码。

    <label for="point">Buy point: </label>
    <input type="radio" name="pointS" value="20" > 20
    <input type="radio" name="pointS" value="50" > 50
    <input type="radio" name="pointS" value="100" checked = "checked"> 
    100<br><br>
    

    我想将问题编号2的信息插入Firebase。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您正在for循环中找到所选的收音机并进行记录,但除此之外您没有对其进行任何操作。利用这个机会将其值放在一个对象中,就像你在第三个例子中那样提交。

var radios = document.getElementsByName("pointS");
var database = firebase.database();
var pointsRef = database.ref("points");

for (var i = 0; i < radios.length; i++){
  if (radios[i].checked){
    // do whatever you want with the checked radio
    var data = {
      point: radios[i].value
    };
    pointsRef.push(data);

    // only one radio can be logically checked, don't check the rest
    break;
  }
}

你在第二个例子中尝试做的是将HTMLCollection传递给firebase,就像尝试传入一组对象一样。