问题是我可以使用函数来创建一个表单,该表单将创建输入并协助我将数据存储到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
});
});
}
答案 0 :(得分:0)
在创建表单元素之前,您正在引用它,因此找不到该元素。您已经有了表单引用,因此可以使用它。
form.addEventListener('submit', (e) => {
db.collection('approval').add({
name: name1.value,
decision: approval.value
});
});