我有以下表格:
<form action="next.html" id="userInput" method="post" onsubmit="return validate();">
Age: <input type="text" name="age" id="age"/>
function validate() {
var age = document.getElementById("age").value;
if(age > 100 || age < 0) {
alert("Age must be within 0 and 100");
return false;
} else {
return true;
}
}
这正常工作。如果我在年龄文本框中输入一个大于 100 的数字,它将显示错误消息并停留在当前表单页面。
但是,如果我使用如下的变量 errorMessage 来显示警告框,则它不起作用。它将转到下一页而不弹出警报错误消息。
function validate() {
var age = document.getElementById("age").value;
var errorMessage="";
if(age > 100 || age < 0) {
errorMessage = "Age must be within 0 and 100";
}
if( errorMessage !== "" )
alert(errorMessage);
return false;
} else {
return true;
}
}
那么为什么第一个有效而第二个无效呢?