Javascript 添加用户后如何修复Firebase DB列获取随机数?

Javascript 添加用户后如何修复Firebase DB列获取随机数?,javascript,html,json,firebase,firebase-realtime-database,Javascript,Html,Json,Firebase,Firebase Realtime Database,当我通过js添加一个新用户时,它会在Admins列下面生成一个随机数。我需要像以前一样解决这个问题。它必须是用户名的值。如果你们中有人知道如何根据我的需要修复此代码,请告诉我:) 谢谢 这是HTML、JS和JSON代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Firebase CRUD Javascript</title>

当我通过js添加一个新用户时,它会在Admins列下面生成一个随机数。我需要像以前一样解决这个问题。它必须是用户名的值。如果你们中有人知道如何根据我的需要修复此代码,请告诉我:) 谢谢

这是HTML、JS和JSON代码

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Firebase CRUD Javascript</title>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>

    <h1>Firebase CRUD with Javascript
        <br/><small><em>User App</em></small>
    </h1>


    <!-- add user module -->
    <section id="add-user-module" >
        <button id="open-add-user-form-btn">+</button>
        <form>
            <h2>Add User</h2>
            name:<br>
            <input type='text' data-key='name' class='user-input'><br>
           username:<br>
            <input type='text' data-key='username' class='user-input'><br>
            password:<br>
            <input type='text' data-key='password' class='user-input'><br>
            <button type='button' id="add-user-btn">add user</button>
        </form>
    </section>

    <!-- edit user module -->
    <section id="edit-user-module">
        <form>
            <h2>Edit user</h2>
            <input type="hidden" class="edit-userid">
            name:<br>
            <input type='text' data-key='name' class='edit-user-input'><br>
            username:<br>
            <input type='text' data-key='username' class='edit-user-input'><br>
            password:<br>
            <input type='text' data-key='password' class='edit-user-input'><br>
            <button type='button' id="edit-user-btn">save</button>
        </form>
    </section>


    <!-- show user module -->
    <ul id="user-list"></ul>
    <div id="user-detail"></div>


     <script src="https://www.gstatic.com/firebasejs/7.10.0/firebase-app.js"></script>
 <script src="https://www.gstatic.com/firebasejs/7.10.0/firebase-analytics.js"></script>
 <script src="https://www.gstatic.com/firebasejs/7.10.0/firebase-database.js"></script>
    <script type="text/javascript" src="app.js"></script>

  </body>

</html>
您应该在
addUserBtnClicked
函数中使用“set”而不是“push”

就像这样:

function addUserBtnClicked() {

    const usersRef = dbRef.child('Admins');

    const addUserInputsUI = document.getElementsByClassName("user-input");

    // this object will hold the new user information
    let newUser = {};

    // loop through View to get the data for the model 
    for (let i = 0, len = addUserInputsUI.length; i < len; i++) {

        let key = addUserInputsUI[i].getAttribute('data-key');
        let value = addUserInputsUI[i].value;
        newUser[key] = value;
    }

    usersRef.child(userID).set(newUser) //enter the userID here
}
函数addUserBtnClicked(){
const usersRef=dbRef.child('Admins');
const addUserInputsUI=document.getElementsByClassName(“用户输入”);
//此对象将保存新用户信息
让newUser={};
//循环查看以获取模型的数据
for(设i=0,len=addUserInputsUI.length;i
我将userID更改为username,因为username的值是我想要得到的随机数。但它不起作用@Tobias你有什么错误吗?是的,userID应该是您需要的任何内容,我不知道确切的字段是的,这是错误mate@Tobias-Uncaught ReferenceError:username没有在HTMLButtonElement.addUserBtnClickedYeah中定义,因为变量“username”不是由函数设置的。但是在数据库中,你有一个你设置的字段用户名(data key=name),我猜,这个值你在我的代码中作为“userID”放的对不起,我不能理解。你的意思是我需要在两个地方都输入用户名吗?


{
  "Admins": [
    {
      "name": "Kuruppu",
      "username": 117,
      "password": "kuruppu123"
    },
    {
      "name": "Sandeepa",
      "username": 118,
      "password": "sandeepa123"
    },
    {
      "name": "Lakshan",
      "username": 119,
      "password": "lakshan123"
    }

  ]

}
function addUserBtnClicked() {

    const usersRef = dbRef.child('Admins');

    const addUserInputsUI = document.getElementsByClassName("user-input");

    // this object will hold the new user information
    let newUser = {};

    // loop through View to get the data for the model 
    for (let i = 0, len = addUserInputsUI.length; i < len; i++) {

        let key = addUserInputsUI[i].getAttribute('data-key');
        let value = addUserInputsUI[i].value;
        newUser[key] = value;
    }

    usersRef.child(userID).set(newUser) //enter the userID here
}