i've a form user can enter any date , but i want to set a date range validation . for example: from 1-12-2012 to 1-1-2013 and the system can't accept any date from user that not in the range.. i've tried this javascript code but it doesn't give me any alert even when date not in range ..
this is part of my form :
echo "<tr><th bgcolor='FF6600'> Date <font size='4' color='red'>* </font></th>
<td> <input type='date' name='v2' value='' ></td></tr>";
echo "<tr><th bgcolor='FF6600'> Time <font size='4' color='red'>* </font></th>
<td> <input type='time' name='v3' value='' ></td></tr>";
echo "<tr><th bgcolor='FF6600'> Place <font size='4' color='red'>* </font></th>
<td> <input type='text' name='v4' value='' ></td></tr>";
and this is the javascript code
<script language="javascript">
function validation(form)
{
var v2 = document.getElementById('v2');
var date = v2.value;
if ( (v2 > new date('12/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 valid range")
return false;
}
}
</script>
To compare dates, you should be using the unix timestamp, and right now the first date you're getting from the value is a string, and you can't compare that against date objects?
Make sure you have timestamps in unix time, and then compare those:
You can make a function like this:
and test any date like calling this function:
Here is Working Demo