2017-06-18 53 views
0

我试图从表单添加一些用户到我的firebase数据库。为此,我已经将Firebase配置链接到我的main.pug。 但没有任何作品,我到处抬头看,我很迷茫。 如果代码很丑,需要你的帮助和抱歉。pug/firebase:将用户从输入添加到firebase

还有就是我Addform.pug:

div 
    h2 Add Form 
    form#addForm 

    div 
     label(for='username') Username 
     input(type='text' name='username' placeholder='Username')#username 

    div 
     label(for='name') Name 
     input(type='text' name='name' placeholder='Name')#name 

    div 
     label(for='description') Description 
     textarea(type='text' name='description' placeholder='Description')#description 

    div 
     label(for='email') Email 
     input(type='email' name='email' placeholder='Email')#email 

    div 
     label(for='password') Password 
     input(type='password' name='password' placeholder='Password')#password 

    div 
     input(type='submit' value="ADD" onclick='writeUserData') 
     div 
      a(href='../src/editForm.html') Modify 

还有我sxript:

// Variables 
let username = document.querySelector('#username').value; 
let name = document.querySelector('#name').value; 
let email = document.querySelector('#email').value; 
let password = document.querySelector('#password').value; 
let description = document.querySelector('#description').value; 
let users = document.querySelector('#users').value; 
const submit = document.querySelector('#submit'); 

// Get a reference to the database service 
const userRef = firebase.database().ref().child('Users'); 

// Add users 
const writeUserData =() => { 

    userRef.push({ 
     username, 
     name, 
     description, 
     email, 
     password 
    }); 

    console.log(username, name, description, email, password); 
} 

// Display users 
userRef.on('value', function (snap) { 
    console.log(snap.val()); 
    users.innerText = JSON.stringify(snap.val(), null, 2); 
}); 

// Delete user 
function deleteUser() { 
    userRef.key('Users').remove(); 
} 

看来,我不能得到的价值,它抛出一个我错误:

Uncaught TypeError: Cannot read property 'value' of null 

此外,我无法从Firebase中看到硬编码的数据,也无法删除我的用户。

回答

0

问题是您的JavaScript选择代码。 document.querySelector("#xyz")正在寻找ID为xyz的元素。您已命名输入,但也需要为您的输入元素提供相应的ID。一个例子是

input#email(type='email', name='email', placeholder='Email')#email 

通知您还需要name属性之前添加一个逗号

+0

感谢您的评论:)在这种情况下,''输入(类型=“文本”名称=“用户名” placeholder ='Username')#username''我给了id''username'',我用''window.onload''解决了我的问题 –

相关问题