识别在Firebase数据库中单击了哪个单选按钮

时间:2019-03-01 16:07:17

标签: javascript html

所以我创建了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,
  });
}

1 个答案:

答案 0 :(得分:0)

您的问题是您将所有值发送到Firebase,而不仅仅是选定的值。

function saveMessage(){
  const GENDER = document.querySelector('input[name="gender"]:checked').value;
  var newMessageRef = messagesRef.push();

  newMessageRef.set({
    gender: GENDER
  });
}