需要一个If和else语句和一个新页面

时间:2016-10-06 07:39:30

标签: javascript html validation if-statement

这是我需要帮助的! 我的项目需要Age部分的If和else语句! 然后将已经正确验证的人发送到新页面..我目前有一个页面,但这只是我的USB中的内容

还需要解释它是如何验证的

请帮忙

!DOCTYPE html>
<html>
<head>
<script>
function validateForm() {
    var x = document.forms["myForm"]["fname"].value;
    if (x == null || x == "") 
	{
        alert("Name must be filled out");
        return false;
    }

	var Age = document.forms["myForm"]["Age"].value;
    if (Age == null || Age == "") {
        alert("Has to be a number between 1 and 150");
        return false; 

    }

    var Email = document.forms["myForm"]["Email"].value;
    if (Email == null || Email == "") {
        alert("Make sure it is the correct Email format");
        return false; 
 
	} 
	
	var myCheck = document.getElementById("check1").checked;
    if (myCheck == false) {
        alert("Have to tick box to proceed");
        return false; 
    }  
	
	
  
	
	
	}

</script>
</head>
<body>

<form name="myForm" action="file:///G:/Welcome.html"
onsubmit="return validateForm()" method="post">

Name: <input type="text" name="fname">
Age: <input type="text" name="Age"> 
Email: <input type="text" name="Email">
<br>checkbox: <input type="checkbox" id="check1" name="myCheck"> </br>
<input type="submit" value="click">
</form>


</body>
</html>

2 个答案:

答案 0 :(得分:0)

您可以使用年龄检查扩展if子句。

var age = document.forms["myForm"]["Age"].value;
if (age == "" || age < 1 || age > 150) {
//            ^^^^^^^^^^^^^^^^^^^^^^^
    alert("Has to be a number between 1 and 150");
    return false;
}

答案 1 :(得分:0)

我将表单的值解析为数字,然后检查其范围:

var age = Number(document.forms["myForm"]["Age"].value) || 0;

if (age < 1 || age > 150) {
        alert("Has to be a number between 1 and 150");
        return false;
}

为什么要转换为数字并放置Number(document.forms["myForm"]["Age"].value) || 0

原因很简单:假设恶意用户在您的表单中输入值“NaN”。如果您没有进行此项检查,则年龄值将为NaN,并且它会通过您的支票(NaN < 1falseNaN > 150也为false

这样,如果用户在表单中放入“NaN”,则后卫会将其转换为0,警报将触发,函数将返回false。