[英]Can't get form validation in JS to work
所以我一直在学习基本的JS,但是我无法通过表格验证来处理数字。 我将在下面发布代码段。 拜托,我是菜鸟,所以我可能会得到一个对刚学习该语言的人来说更容易理解的答案。 前三个if语句工作正常,但是第四个if语句有问题...
var checkbox = function() {
var error = "";
var firstname = document.getElementById("fn").value;
var lastname = document.getElementById("ln").value;
var email = document.getElementById("Email").value;
var age = parseInt(document.getElementById("age").value);
var address = document.getElementById("A").value;
var phone = parseInt(document.getElementById("pn").value);
if(firstname.length < 1){
error = "Enter a valid first name!";
}
if(lastname.length < 1){
error += "\nEnter a valid last name!";
}
if(email.length <1){
error += "\nEnter a valid email!";
}
if(age.length < 1 ){
error += "\nEnter a valid age!";
}
if(error.length){
alert(error)
return false;
}
return true;
}
你可以试试这个
if(firstname.trim() == ""){
error = "Enter a valid first name!";
}
if(lastname.trim()==""){
error += "\nEnter a valid last name!";
}
if(email.trim() ==""){
error += "\nEnter a valid email!";
}
if(age.trim() == "" ){
error += "\nEnter a valid age!";
}
if(error.length>0){
alert(error)
return false;
}
您要针对哪个年龄段进行检查? 您要检查它的存在吗? 如果是这样,您可以这样做:
if(!age) {
error += "\nThis field is required";
}
如果要检查“年龄”字段中的值是否为数字,则可以执行以下操作:
if(typeof age !== "number") {
error += "\nPlease enter a valid number!";
}
如果您要检查年龄字段是否在某个年龄范围内,则可以执行以下操作:
if(age !== 30) {
error += "\nYou are under 30!";
}
您应该在调用parseInt
之前检查document.getElementById("age").value
的长度。 否则,可变age
可以是NaN
。 例如:
var ageVal = document.getElementById("age").value;
var age;
if (ageVal){ //same as ageVal.length > 0
age = parseInt(age);
if (!age){// it can be NaN
error += "\nEnter a valid age!";
}
}
else
{
error += "\nEnter an age!"; //here we have age not set
}
请尝试这个
if(isNaN(age)){
error += "\nEnter a valid age!";
}
isNan()是内置的javascript函数。 可以在http://www.w3schools.com/jsref/jsref_isnan.asp上找到更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.