所以这是我尝试制作Tone Matrix程序的HTML5版本。所以这就是问题,我让用户输入他们想要他们的歌曲的时间,然后确保他们输入了一个数字,所以我用了
function initiate(){
var min = document.forms["initiator"]["min"].value;
var sec = document.forms["initiator"]["sec"].value;
// some logic
return false;}
检查他们输入的内容是否确实是一个数字但是当我尝试这样做时,浏览器会回吐“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>
我还把这个东西放到了位于http://www.sfu.ca/~zla49/MMC/的托管服务上,所以,谢谢:)
答案 0 :(得分: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 ...-->