为什么我在控制台中看到 undefined 而不是输入值

时间:2021-07-01 17:38:24

标签: javascript html dom dom-events addeventlistener

我想将我的输入值记录到控制台,但是每当我单击提交按钮时,它都会记录未定义的日志,请问为什么会发生这种情况。 下面是我的代码

<!--html-->
<body>
  <form action="" id="form">
     <input type="text" name="" id="input" />
     <input type="submit" name="" id="submit" />
  </form>
</body>

 <!--script-->
 <script>
     const form = document.querySelector('#form');
     const input = document.querySelector('#input');
     const submit = document.querySelector('#submit');

     function adds(e) {
       console.log(e.target.value);

        e.preventDefault();
     }
     form.addEventListener('submit', adds);   
 </script>

1 个答案:

答案 0 :(得分:0)

e.target 是一个 HTMLFormElement。它没有 value 属性。

如果您想获取输入的值,请通过 inputform.firstChild 引用它。

const form = document.querySelector('#form');
const input = document.querySelector('#input');
const submit = document.querySelector('#submit');

function adds(e) {
  console.log(form.firstChild.value);

  e.preventDefault();
}
form.addEventListener('submit', adds);
<body>
  <form action="" id="form">
    <input type="text" name="" id="input" />
    <input type="submit" name="" id="submit" />
  </form>
</body>