两个数字之间的Javascript表单验证

时间:2014-11-15 09:56:01

标签: javascript forms validation

我需要一个表单字段,如果输入21岁以上和35岁以上的数字,会弹出一个告诉他们输入21到35之间的数字。

首先我看过这个,但它并没有解决我的要求:

Form validation with Javascript - Field value must be between 2 specific numbers

我有以下内容并且它不起作用,任何想法为什么?

<!DOCTYPE html>
<html>
<head>
<script>
function validateForm() {
var x = document.forms["daysCalc"]["days"].value;
if (x>=21 && x<=35) {
    alert("Number must be between 21 and 35");
    return false;
}
}
</script>
</head>

<body>
<form name="daysCalc" action="" onsubmit="return validateForm()" method="post">
Days: <input type="text" name="days">
<input type="submit" value="Submit">
</form>
</body>

</html>

我们将不胜感激。

提前致谢

2 个答案:

答案 0 :(得分:1)

当用户输入给定范围内的数字时,您实际上是在发送错误消息,而不是在给定范围之外。

试试这个:

function validateForm() {
    var x = document.forms["daysCalc"]["days"].value;
    if (x < 21 || x > 35) {
        alert("Number must be between 21 and 35");
        return false;
    }
}

答案 1 :(得分:0)

    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.1.min.js"></script>

    <!DOCTYPE html>
    <html>
    <head>
    <script>
    function validateForm() {
    var x = document.forms["daysCalc"]["days"].value;
    if (x<=20 || x>=36) {
        alert("Number must be between 21 and 35");
        return false;

}
}
</script>
</head>

<body>
<form name="daysCalc" action="" onsubmit="return validateForm()" method="post">
Days: <input type="text" name="days">
<input type="submit" value="Submit">
</form>
</body>

</html>