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);
这是我使用的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。我该如何解决这个问题?
答案 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,就像尝试传入一组对象一样。