所以我创建了3个单选按钮,它们已成功保存在Firebase数据库中。但是,我无法在Firebase中标识保存了哪一个,因为它显示出已选择全部3个。我如何更改代码或向其中添加一些内容以查看单击了哪个选项?
this is what i see in firebase database
html
<form id="contactForm">
<input type="radio" name="gender" value="male" id="q1"> Male<br>
<input type="radio" name="gender" value="female" id="q2"> Female<br>
<input type="radio" name="gender" value="other" id="q3"> Other
<p class="full">
<button type="submit">Submit</button>
</p>
</form>
Java脚本
var messagesRef = firebase.database().ref('messages');
document.getElementById('contactForm').addEventListener('submit', submitForm);
function submitForm(e){
e.preventDefault();
var q1 = getInputVal ('q1');
var q2 = getInputVal ('q2');
var q3 = getInputVal ('q3');
saveMessage(q1, q2, q3 );
document.querySelector('.alert').style.display = 'block';
setTimeout(function(){
document.querySelector('.alert').style.display = 'none';
},3000);
document.getElementById('contactForm').reset();
}
function getInputVal(id){
return document.getElementById(id).value;
}
function saveMessage( q1, q2, q3){
var newMessageRef = messagesRef.push();
newMessageRef.set({
q1:q1,
q2:q2,
q3:q3,
});
}
答案 0 :(得分:0)
您的问题是您将所有值发送到Firebase,而不仅仅是选定的值。
function saveMessage(){
const GENDER = document.querySelector('input[name="gender"]:checked').value;
var newMessageRef = messagesRef.push();
newMessageRef.set({
gender: GENDER
});
}