我似乎无法将数据添加到Firebase数据库中

时间:2019-08-19 15:24:26

标签: javascript html firebase google-cloud-firestore

问题是我可以使用函数来创建一个表单,该表单将创建输入并协助我将数据存储到Firebase数据库中。我正在一个.js文件中完成所有功能(包括制作表单,输入等)

坦率地说,我实际上是一名正在做项目的大学生,并且在此过程中遇到了此类问题,但是我找不到找到最佳方法来表达自己的想法。我希望有人能够阅读代码并弄清代码中的实际错误。PS。第一次使用stackoverflow提出问题。抱歉,如果我在这里得罪了。

    const form1 = document.querySelector('#decision-student')

function renderapplication(doc){
  let approval = document.createElement('input');
  let submit = document.createElement('button');
  let form = document.createElement('form');
  let name1 = document.createElement('input');

  form.setAttribute('id','decision-student');
  name1.setAttribute('type','text');
  name1.setAttribute('name', 'name1');
  name1.setAttribute('placeholder', "Student's Name")
  approval.setAttribute('type', 'text');
  approval.setAttribute('name', 'approve');
  approval.setAttribute('placeholder', 'Approve or Decline');
  submit.setAttribute('class', 'button');

  submit.textContent = 'Submit';

  li.appendChild(form);
  form.appendChild(name1);
  form.appendChild(approval);
  form.appendChild(submit);

  application.appendChild(li);

  //name and decision
    form1.addEventListener('submit', (e) => {
      db.collection('approval').add({
        name: form1.name1.value,
        decision: form1.approve.value
      });
  });
}

1 个答案:

答案 0 :(得分:0)

在创建表单元素之前,您正在引用它,因此找不到该元素。您已经有了表单引用,因此可以使用它。

form.addEventListener('submit', (e) => {
  db.collection('approval').add({
    name: name1.value,
    decision: approval.value
  });
});