【发布时间】:2012-03-19 21:54:59
【问题描述】:
我有 3 个下拉框来显示开始日期(日/月/年)。我还有 3 个要显示结束日期。
我想验证一下
- 用户选择了一个有效的日期(即不是 2 月 30 日)。如果他们选择了无效的日期,则 alert("Your date is invalid.")
- 开始日期和结束日期之间的天数差小于 7。
我真的很挣扎,希望有人可以帮助我作为一个相对初学者。
到目前为止我的代码如下:
<script type="text/javascript">
var monthtext=["01","02","03","04","05","06","07","08","09","10","11","12"];
function populatedropdown(dayfield, monthfield, yearfield){
var today=new Date()
var dayfield=document.getElementById(dayfield)
var monthfield=document.getElementById(monthfield)
var yearfield=document.getElementById(yearfield)
for (var i=0; i<=31; i++)
dayfield.options[i]=new Option(i, i)
dayfield.options[today.getDate()]=new Option(today.getDate(), today.getDate(), true, true) //select today's day
for (var m=0; m<12; m++)
monthfield.options[m]=new Option(monthtext[m], monthtext[m])
monthfield.options[today.getMonth()]=new Option(monthtext[today.getMonth()], monthtext[today.getMonth()], true, true) //select today's month
var thisyear=today.getFullYear()
for (var y=0; y<4; y++){
yearfield.options[y]=new Option(thisyear, thisyear)
thisyear+=1
}
yearfield.options[0]=new Option(today.getFullYear(), today.getFullYear(), true, true) //select today's year
}
</script>
HTML:
<label>Start date :</label>
<select name="startDateDay" id="startDaydropdown"></select>
<select name="startDateMonth" id="startMonthdropdown"></select>
<select name="startDateYear" id="startYeardropdown"></select>
<label>End date :</label>
<select name="endDateDay" id="endDaydropdown"></select>
<select name="endDateMonth" id="endMonthdropdown"></select>
<select name="endDateYear" id="endYeardropdown"></select>
【问题讨论】:
-
您可以在不允许用户选择过去日期的地方使用 jquery datepicker。然后将 to 部分中的 to date 从提前 7 天开始。
标签: javascript html date validation