为什么document.forms ["myform"] ["input"].value返回undefined

Mug*_*Ate -1 javascript validation

所以这是我试图制作一个HTML5版本的Tone Matrix程序.所以这就是问题,我让用户输入他们想要他们的歌曲的时间,然后确保他们输入一个数字,所以我使用

  function initiate(){
  var min = document.forms["initiator"]["min"].value;
  var sec = document.forms["initiator"]["sec"].value;
  // some logic
  return false;}
Run Code Online (Sandbox Code Playgroud)

检查他们输入的内容是否确实是一个数字但是当我尝试这样做时,浏览器会回吐"Uncaught TypeError:无法读取未定义的属性'min'"这里是我的DOM中的内容.

<form onsubmit="return initiate()">
Your song will be (at most): <input type="number" name="min" id="min"> minutes and <input type="number" name="sec" id="sec"> seconds long.<br>
<input type="submit" value="Start" />
</form><br>
Run Code Online (Sandbox Code Playgroud)

我也把这个东西放在这里的主机服务http://www.sfu.ca/~zla49/MMC/所以你好谢谢:)

vol*_*ron 5

name的表单上没有.

应该是这样的 <form name="initiator" onsubmit="return initiator()">


如果您不想命名表单,那么可能更有用的是将表单对象作为参数传递:

function initiate(form){
  var min = form["min"].value;
  var sec = form["sec"].value;
  // some logic
  return false;
}

<form onsubmit="return initiate(this)">
<!--... rest of your code ...-->
Run Code Online (Sandbox Code Playgroud)