2017-06-18 28 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''解決了我的問題 –

相關問題