使用Javascript进行表单验证-字段值必须介于2个特定数字之间

使用Javascript进行表单验证-字段值必须介于2个特定数字之间,javascript,forms,numbers,background-color,Javascript,Forms,Numbers,Background Color,我在一页上有一张表格。表单上有一个名为“生日”的字段。我需要在javascript中解决以下问题: </head><body> <div id="div1"> <form name="myForm" action="demo_form.php" onsubmit="return validateForm()" method="post"> Username: <input type="text" id="username" name="

我在一页上有一张表格。表单上有一个名为“生日”的字段。我需要在javascript中解决以下问题:

</head><body>

<div id="div1">
<form name="myForm" action="demo_form.php" onsubmit="return validateForm()" method="post">
Username:   <input type="text" id="username" name="username"><br>         
Birth Year: <input type="text" id="birthYear" name="birthYear"><br><br>
<input type="submit"  value="Submit">
</form>

</div>

<div id="div2">
<img src="cat.jpg"    id="im1" name="image1"/>
<img src="dog.jpg"    id="im2" name="image2"/>
<img src="fish.jpg"   id="im3" name="image3" class='double'/>
</div>


</body></html>
如果在字段中输入1900-2012之间的值,则接受该表单。如果该值不在1900-2012之间,则“生日”文本框背景颜色将变为黄色

</head><body>

<div id="div1">
<form name="myForm" action="demo_form.php" onsubmit="return validateForm()" method="post">
Username:   <input type="text" id="username" name="username"><br>         
Birth Year: <input type="text" id="birthYear" name="birthYear"><br><br>
<input type="submit"  value="Submit">
</form>

</div>

<div id="div2">
<img src="cat.jpg"    id="im1" name="image1"/>
<img src="dog.jpg"    id="im2" name="image2"/>
<img src="fish.jpg"   id="im3" name="image3" class='double'/>
</div>


</body></html>
有人知道如何做到这一点吗

</head><body>

<div id="div1">
<form name="myForm" action="demo_form.php" onsubmit="return validateForm()" method="post">
Username:   <input type="text" id="username" name="username"><br>         
Birth Year: <input type="text" id="birthYear" name="birthYear"><br><br>
<input type="submit"  value="Submit">
</form>

</div>

<div id="div2">
<img src="cat.jpg"    id="im1" name="image1"/>
<img src="dog.jpg"    id="im2" name="image2"/>
<img src="fish.jpg"   id="im3" name="image3" class='double'/>
</div>


</body></html>
我的HTML如下所示:

</head><body>

<div id="div1">
<form name="myForm" action="demo_form.php" onsubmit="return validateForm()" method="post">
Username:   <input type="text" id="username" name="username"><br>         
Birth Year: <input type="text" id="birthYear" name="birthYear"><br><br>
<input type="submit"  value="Submit">
</form>

</div>

<div id="div2">
<img src="cat.jpg"    id="im1" name="image1"/>
<img src="dog.jpg"    id="im2" name="image2"/>
<img src="fish.jpg"   id="im3" name="image3" class='double'/>
</div>


</body></html>
函数validateForm(){
var x=document.forms[“myForm”][“username”].value;
如果(x==“”){
警报(“需要用户名!”);
document.getElementById(“用户名”).focus();
}
var dob=document.forms[“myForm”][“birthYear”];
var y=目标值;
如果(!isNaN(y)){

如果(y>=1900&&yUse
parseInt(y)
获取年份值,则检查它是否在1900和2012之间。顺便说一句,您有错误,它是NaN(y)dob不是dob。dob是dom元素。你应该用y将if-else移到isNaN if之外,因为如果用户输入任何数值,则不会进行额外的检查。您好,非常感谢您的帮助。代码很有意义,但由于某些原因它仍然不起作用。知道为什么吗?@user2147761抱歉,我忘了在isNaN()中添加not运算符“!”条件。现在这个例子起作用了。谢谢你指出它。