[英]javascript for date range validation
我有一个表单用户可以输入任何日期,但是我想设置一个日期范围验证。 例如:从2012年1月12日到2013年1月1日,系统无法接受不在该范围内的用户的任何日期。.我已经尝试过此javascript代码,但它甚至都不会给我任何警报当日期不在范围内时..
这是我表格的一部分:
echo "<tr><th> Date </th>
<td> <input type='date' id ='v2' name='v2' value='' ></td></tr>";
echo "<tr><th> Time </th>
<td> <input type='time' name='v3' value='' ></td></tr>";
echo "<tr><th> Place </th>
<td> <input type='text' name='v4' value='' ></td></tr>";
这是javascript代码
<script language="javascript">
function validation(form)
{
var v2 = document.getElementById('v2');
var date = v2.value;
if ( v2 > new Date('1/12/2012') &&
v2 < new Date('1/1/2013')) {
// date is in your valid range
return true;
} else {
// date is not in your valid range
alert("date is not in the range")
return false;
}
}
</script>
您需要更改以下三行:
var date = v2.value;
if ( v2 > new Date('1/12/2012') &&
v2 < new Date('1/1/2013')) {
至:
var date = new Date(v2.value);
if (date > new Date('1/12/2012') &&
date < new Date('1/1/2013')) {
看到它在这里工作: http : //jsfiddle.net/xGWpW/1/
您需要获取v2输入字段的值。 目前,您的代码不知道v2是什么。 我建议您给输入一个ID并使用document.getElementById。
<td> <input type='date' id= 'v2input' name='v2' value='' ></td></tr>";
然后,您可以获取该值并在脚本中进行比较。
var v2 = document.getElementById('v2input');
var date = new Date(v2.value);
实际获得日期值后,您应该可以对其进行比较。
除了必须设置变量“ v2”的值之外,还必须将其转换为Date对象,以便能够进行比较。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.