【问题标题】:Add element to a multiple array through a Javascript function通过Javascript函数将元素添加到多个数组
【发布时间】:2018-07-14 22:24:10
【问题描述】:

我正在使用表单和 javascript 进行用户注册,将我想要获取的数据保存在变量中,并通过 validate 函数将我定义的元素数组添加到先前创建的用户数组(用户)中,但不工作

代码是这样的:

var user = document.getElementById("user");
var pass = document.getElementById("pass");
var enviar = document.getElementById("enviar");
var users = [// user      password  rol
                  ["admin","admin", "1"],
              ];
var prueba;

enviar.addEventListener("click", validar, false);

function validar (e) {
  prueba = [users.value, pass.value, "0"];

    users.push(prueba);


    return users;
}
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>


    <form action="" method="post">
      <h2>Registro de Usuario: </h2>

      <input type="text" name="user" id="user" placeholder="Usuario"><br>
      <input type="password" name="pass" id="pass" placeholder="Contraseña"><br>
      <input type="submit" name="enviar" id="enviar" value="enviar" >
    </form>
    <script type="text/javascript" src="js/functionss.js">
    </script>
  </body>
</html>

【问题讨论】:

  • new Array(user.value+pass.value+"0") 应该只是 [user.value, pass.value, "0"]
  • 如果您使用堆栈 sn-ps 提供与您的问题相关的所有代码。见mvce
  • 我用 html 更新了代码。我已经按照 Olian04 告诉我的方式编辑了代码,但它仍然无法正常工作

标签: javascript function registration


【解决方案1】:

我不确定您的问题是什么,但我注意到有两件事可能会破坏您的逻辑。

在这一行中,您指的是用户列表,而不是用户输入元素:

prueba = [users.value, pass.value, "0"];

单击提交按钮时,您的页面会刷新,因此您的users 列表会重新创建。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    • 2015-05-11
    • 1970-01-01
    • 2015-05-14
    • 1970-01-01
    相关资源
    最近更新 更多