将日期限定在两周内,选其他日期时就报警。但我写的两段代码,都是选第二天的就报警,而且选当日之前的也不报警。 代码段一: var today=new Date(); var selectDayFormat=a[2]+"/"+a[1]+"/"+a[0]; var selectDate=Date.parse(selectDayFormat); var todayDate=Date.parse(today); var days=Math.ceil((selectDate-todayDate)/24*3600*1000) if (days>14 ) { alert("对不起!只能预定当日及两周内的"); return false; } 代码段二: var today=new Date(); var yy=today.getYear(); var mm=today.getMonth()+1; var dd=today.getDate(); var selectDayFormat=a[2]+"/"+a[1]+"/"+a[0]; var selectDate=new Date(selectDayFormat); if (((selectDate.getTime()-today.getTime())/(24*3600*1000))>14) { alert("对不起!只能预定当日及两周内的"); return false;
<input type="button" name="Submit" value="选择" onClick="select_startdate('formManage.Cbfqrcsrq1')">
。。
<script language="javascript">
//选择日期
function select_startdate(objname)
{
var Birth = showModalDialog( "js/date.htm",
"date",
"dialogwidth:310px;dialogheight:210px;status=no;help=no" );
if(Birth != "")
{
obj = eval(objname);
obj.value = Birth;
}
}
在date.htm中处理日期选择
http://blog.csdn.net/meizz/archive/2003/06/09/17130.aspxmeizz似乎也是许久都没来CSDN了
http://www.microsoft.com/china/community/Professional/MVP/MVPStory0304.aspx
<script language="javascript">
function checkdate(){
var today=new Date();
var y=today.getYear();
var m=today.getMonth()+1;
var d=today.getDate();
if((new Date(test.date.value.replace(/-/g, "\/")).getTime()-today)/(24*3600*1000)>14){
alert('error');
return false;
}
}
</script>
<form name="test" onsubmit="return checkdate()">
<input type="text" name="date" onfocus="calendar()"> <input type="Submit">
</form>
这个好像不行,是要实现今天之前的和两周之后的都不可选,但日历仍是完整的显示出来的。月份的前翻后翻也以此为标准。
各位:
我对Javascript不熟,凡能帮上忙的另开贴给分。
先将输入的时间从yyyy-mm-dd的格式转化成yyyy/mm/dd的格式,再得到这个时间的完整时间(getTime()),计算与当前时间之差
这个差值是以毫秒为单位,将差值除以一天的毫秒值(24*3600*1000)得到天数。
代码段一:
var today=new Date();
var selectDayFormat=a[2]+"/"+a[1]+"/"+a[0];
var selectDate=Date.parse(selectDayFormat);
var todayDate=Date.parse(today);
var days=Math.ceil((selectDate-todayDate)/24*3600*1000)
if (days>14 )
{
alert("对不起!只能预定当日及两周内的");
return false;
} 代码段二:
var today=new Date();
var yy=today.getYear();
var mm=today.getMonth()+1;
var dd=today.getDate();
var selectDayFormat=a[2]+"/"+a[1]+"/"+a[0];
var selectDate=new Date(selectDayFormat); if (((selectDate.getTime()-today.getTime())/(24*3600*1000))>14)
{
alert("对不起!只能预定当日及两周内的");
return false;