首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从Javascript输入中获得值

无法从Javascript输入中获得值
EN

Stack Overflow用户
提问于 2022-10-05 04:14:56
回答 1查看 81关注 0票数 0

我读过其他一些试图解决这个问题的文章,但我仍然有同样的问题:我无法从输入中获得值。在我点击“Cuenta”按钮后,它会给我一个‘未定义’。我希望将这些值从输入传递到javascript文件,然后执行其他一些操作。

代码语言:javascript
复制
function registrar() {
  let nombre = document.getElementsByName("nombre").value;
  let apellido = document.getElementsByName("apellido").value;
  let username = document.getElementsByName("username").value;
  let email = document.getElementsByName("email").value;
  let password = document.getElementsByName("password").value;
  let confirmPassword = document.getElementsByName("confirmPassowrd").value;

  console.log("Pass: " + password);
  console.log("Confirm: " + confirmPassword);

  if (password != confirmPassword) {
    alert("Contraseñas No coinciden");
  }

  var usuario = [];
  usuario["nombre"] = nombre;
  usuario["apellido"] = apellido;
  usuario["username"] = username;
  usuario["email"] = email;
  usuario["password"] = password;

  console.log(usuario);
}
代码语言:javascript
复制
<section id="registrarse" class="registrarse">
  <form class="registrarse__container" id="registro__form" type="POST" onsubmit="registrar()">
    <h2 class="title">Registrarse</h2>
    <article class="itemA">
      <label class="itemA1">Nombre</label>
      <input class="itemA2" type="text" name="nombre" required>
      <span class="itemA3">Ingrese su Nombre</span>
    </article>
    <article class="itemB">
      <label class="itemB1">Apellido</label>
      <input class="itemB2" type="text" name="apellido" required>
      <span class="itemB3">Ingrese su Apellido</span>
    </article>
    <article class="itemC">
      <label class="itemC1">Nombre de Usuario</label>
      <input class="itemC2" type="text" name="username" required>
      <span class="itemC3">Ingrese su Usuario</span>
    </article>
    <article class="itemD">
      <label class="itemD1">Correo Electronico</label>
      <input class="itemD2" type="email" name="email" required>
      <span class="itemD3">Ingrese su correo</span>
    </article>
    <article class="itemE">
      <label class="itemE1">Contraseña</label>
      <input class="itemE2" type="password" name="password" id="logup__password" required>
      <span class="itemE3">Ingrese Contraseña</span>
    </article>
    <article class="itemF">
      <label class="itemF1">Confirmar Contraseña</label>
      <input class="itemF2" type="password" name="confirmPassword" id="logup__confirm-password" required>
      <span class="itemF3">Ingrese Nuevamente Contraseña</span>
    </article>
    <article class="itemG">
      <button class="itemG3" type="submit">Crear cuenta
        <i class="element1"></i>
      </button>
      <button class="itemG4" onclick="location.href='#body'">Cancelar
        <i class="element2"></i>
      </button>
    </article>
    <article class="redireccion-registro">
      <label>¿Ya tienes una cuenta?</label>
      <a href="#login" class="redireccion-registro">Conectate</a>
    </article>
  </form>
</section>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-05 04:30:24

有两点需要注意:

  1. getElementsByName返回数组而不是单个元素,因此需要使用let nombre = document.getElementsByName("nombre")[0].value

  1. 使用confirmPassword而不是confirmPassowrd来获得值(这是一个错误)

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <section id="registrarse" class="registrarse">
        <form class="registrarse__container" id="registro__form" type="POST" onsubmit="registrar()">
            <h2 class="title">Registrarse</h2>
            <article class="itemA">
                <label class="itemA1">Nombre</label>
                <input class="itemA2" type="text" name="nombre" required>
                <span class="itemA3">Ingrese su Nombre</span>
            </article>
            <article class="itemB">
                <label class="itemB1">Apellido</label>
                <input class="itemB2" type="text" name="apellido" required>
                <span class="itemB3">Ingrese su Apellido</span>
            </article>
            <article class="itemC">
                <label class="itemC1">Nombre de Usuario</label>
                <input class="itemC2" type="text" name="username" required>
                <span class="itemC3">Ingrese su Usuario</span>
            </article>
            <article class="itemD">
                <label class="itemD1">Correo Electronico</label>
                <input class="itemD2" type="email" name="email" required>
                <span class="itemD3">Ingrese su correo</span>
            </article>
            <article class="itemE">
                <label class="itemE1">Contraseña</label>
                <input class="itemE2" type="password" name="password" id="logup__password" required>
                <span class="itemE3">Ingrese Contraseña</span>
            </article>
            <article class="itemF">
                <label class="itemF1">Confirmar Contraseña</label>
                <input class="itemF2" type="password" name="confirmPassword" id="logup__confirm-password" required>
                <span class="itemF3">Ingrese Nuevamente Contraseña</span>
            </article>
            <article class="itemG">
                <button class="itemG3" type="submit">Crear cuenta<i class="element1"></i></button>
                <button class="itemG4" onclick="location.href='#body'">Cancelar<i class="element2"></i></button>
            </article>
            <article class="redireccion-registro">
                <label>¿Ya tienes una cuenta?</label><a href="#login" class="redireccion-registro">Conectate</a>
            </article>
        </form>
    </section>

    <script>
        function registrar(){

            let nombre = document.getElementsByName("nombre")[0].value;
            let apellido = document.getElementsByName("apellido")[0].value;
            let username = document.getElementsByName("username")[0].value;
            let email = document.getElementsByName("email")[0].value;
            let password = document.getElementsByName("password")[0].value;
            let confirmPassword = document.getElementsByName("confirmPassword")[0].value;

            console.log("Pass: " + password);
            console.log("Confirm: " + confirmPassword);

            if(password != confirmPassword){
                alert("Contraseñas No coinciden");
            }
 
            var usuario = {};
            usuario['nombre'] = nombre
            usuario['apellido'] = apellido;
            usuario['username'] = username;
            usuario['email'] = email;
            usuario['password'] = password;

            console.log(usuario);
        }
    </script>



</body>
</html>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73955869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档