如果发现连结失败,或者使用中有bug发现以及其他交流请给我发消息

解决方案 »

  1.   

    JK曾经“求购”过日期弹出框,
    http://expert.csdn.net/Expert/topic/726/726705.xml?temp=.3123438
    后来自己也写过一个,用于在弹出框出输入日期。可能功能没有你的多,不过也差不多够用
    日历生成文件:calendar.htm<html>
    <head>
    <title>日历</title>
    <style>
    TD{

    font-size:9pt; }
    </style>
    </head><body><table align=center><tr><td width=80%>
    <script language=javascript>
    document.write("<select name=yearInput onchange='showCalendar()'>");
    for (var i=1930;i<2200;i++) document.write("<option value='"+i+"'>"+i+"</option>");
    document.write("</select>年<select name=monthInput onchange='showCalendar()'>");
    for (var i=1;i<13;i++) document.write("<option value='"+i+"'>"+i+"</option>");
    document.write("</select>月");
    document.write("</td><td align=right><input type=button value=今天 onclick='returnToday();'>");
    </script>
    </td></tr></table>
    <div id="theCalendar" align=center width=100% >
    </div>
    </body>
    </html><script language="javascript">
    function showCalendar()
    {
    var theCalendarContent="";
    var b=new Date(yearInput.value+"\/"+monthInput.value+"\/"+1);
    var c=new Date(yearInput.value+"\/"+(monthInput.value*1+1)+"\/"+0);
    var theMonthDays=c.getDate();
    var i=0;
    var j=b.getDay();
    var k=1;
    theCalendarContent+="<table ondblclick='getTD(event.srcElement)' border=1 style='border: solid 1 #5661a8; font-Size: 9pt; font-family: Arial; background: #e0e3f7' width=100% align=center><tr bordercolorlight='#5661a8' bordercolordark='#5661a8' style='background: #5661a8; color: #ffffff'><td >周日</td><td>周一</td><td>周二</td><td>周三</td><td>周四</td><td>周五</td><td>周六</td></tr><tr>";
    for (j=0;j<b.getDay();j++) theCalendarContent+="<td>&nbsp;</td>";
    for (i=0;(i<6)&&(k<theMonthDays+1);i++)
    {
    for (j;j<7;j++)
    {
    if (k<theMonthDays+1) 

    if (j<6&&j>0) theCalendarContent+="<td bordercolorlight='#5661a8' align='center' style='color:#ff0000'>"+(k++)+"</td>";
    else theCalendarContent+="<td bordercolorlight='#5661a8' align='center'>"+(k++)+"</td>";
    }
    else  theCalendarContent+="<td>&nbsp;</td>";
    }
    theCalendarContent+="</tr><tr >";
    j=0;
    }
    theCalendarContent+="</tr></table>";
    theCalendar.innerHTML=theCalendarContent;
    }

    function getTD(obj)
    {
    if (obj.tagName!="TD") return false;
    if (isNaN(obj.innerText)||(obj.innerText==0)) return false;
    var a=yearInput.value+"-"+monthInput.value+"-"+obj.innerText;
    window.returnValue=a;
    window.close();
    }

    function returnToday()
    {
    var todaydate=new Date();
    var a=todaydate.getFullYear()+"-"+(todaydate.getMonth()+1)+"-"+todaydate.getDate();
    window.returnValue=a;
    window.close();
    } function initCalendar()
    {
    var a=window.dialogArguments;
    var b=new Date();
    if ((a!=null)&&(a.length>4)) b=new Date(a);
    if (isNaN(b)) b=new Date();
    yearInput.value=b.getFullYear();
    monthInput.value=(b.getMonth()+1);
    showCalendar();
    }
    initCalendar();

    </script>