<style type="text/css">
.body,td{
font-family:"Arial";
font-size:8pt;
color:blue;
}
.TrOut{
background:#dddddd;
height:20;
border:1 solid #999999;
border-top-color:#f4f4f4;
border-left-color:#f4f4f4;
}
.TdOver{
background:#eeeeee;
height:20;
border:1 solid #ffffff;
border-top-color:#9c9c9c;
border-left-color:#9c9c9c;
}
.TdOut{
background:#eeeeee;
height:20;
border:1 solid #9c9c9c;
border-top-color:#ffffff;
border-left-color:#ffffff;
}
</style>
<script language="JScript">
function TableFunction(){
    this.GetDateStr=function(y,m){
        this.DayArray=[];
        for(var i=0;i<42;i++)this.DayArray[i]=" ";
        for(var i=0;i<new Date(y,m,0).getDate();i++)this.DayArray[i+new Date(y,m-1,1).getDay()]=i+1;
        return this.DayArray;
        }
    this.GetTableStr=function(y,m){
        this.DateArray=["日","一","二","三","四","五","六"];
        this.DStr="<table oncontextmenu='return false' onselectstart='return false' style='width:160;cursor:default;border:1 solid #9c9c9c;border-right:0;border-bottom:0;filter:progid:dximagetransform.microsoft.dropshadow(color=#e3e3e3,offx=3,offy=3,positive=true)' border='0' cellpadding='0' cellspacing='0'>\n"+
        "<tr><td colspan='7' class='TrOut'>"+
        "<table width='100%' height='100%'border='0' cellpadding='0' cellspacing='0'><tr align='center'>\n"+
        "<td width='20' style='font-family:\"webdings\";font-size:9pt' onclick='TableFunction().JumpToRun(\"b\")' onmouseover='this.style.color=\"#ff9900\"' onmouseout='this.style.color=\"\"'>3</td>\n"+
        "<td id='YearTD' width='70' onmouseover='this.style.background=\"#cccccc\"' onmouseout='this.style.background=\"\"' onclick='TableFunction().WriteSelect(this,this.innerText.split(\" \")[0],\"y\",false)'>"+y+" 年</td>\n"+
        "<td id='MonthTD' width='47' onmouseover='this.style.background=\"#cccccc\"' onmouseout='this.style.background=\"\"' onclick='TableFunction().WriteSelect(this,this.innerText.split(\" \")[0],\"m\",false)'>"+m+" 月</td>\n"+
        "<td width='20' style='font-family:\"webdings\";font-size:9pt' onclick='TableFunction().JumpToRun(\"n\")' onmouseover='this.style.color=\"#ff9900\"' onmouseout='this.style.color=\"\"'>4</td></tr></table>\n"+
        "</td></tr>\n"+
        "<tr align='center'>\n";
        for(var i=0;i<7;i++)
        this.DStr+="<td class='TrOut'>"+DateArray[i]+"</td>\n";
        this.DStr+="</tr>\n";
        for(var i=0;i<6;i++){
        this.DStr+="<tr align='center'>\n";
        for(var j=0;j<7;j++){
            var CS=new Date().getDate()==this.GetDateStr(y,m)[i*7+j]?"TdOver":"TdOut";
            this.DStr+="<td id='TD' class='"+CS+"' cs='"+CS+"' onmouseover='this.className=\"TdOver\"' onmouseout='if(this.cs!=\"TdOver\")this.className=\"TdOut\"' onclick='TableFunction().AlertDay()'>"+this.GetDateStr(y,m)[i*7+j]+"</td>\n";
            }
        this.DStr+="</tr>\n";
        }
        this.DStr+="</tabe>";
        return this.DStr;
        }
    this.WriteSelect=function(obj,values,action,getobj){
        if(values=="")return;
        if(getobj){
            obj.innerHTML=values+(action=="y"?" 年":" 月");
            this.RewriteTableStr(YearTD.innerText.split(" ")[0],MonthTD.innerText.split(" ")[0]);
            return false;
            }
        var StrArray=[];
        if(action=="y"){
            for(var i=0;i<15;i++){
                var year=values-7+i;
                StrArray[i]="<option value='"+year+"' "+(values==year?"selected":"")+"> "+year+"年</option>\n";
                }
            obj.innerHTML="<select id='select1' style='width:67' onchange='TableFunction().WriteSelect(parentElement,this.value,\"y\",true)' onblur='YearTD.innerText=this.value+\" 年\"'>\n"+StrArray.join("")+"</select>";
            select1.focus();
            }
        if(action=="m"){
            for(var i=1;i<13;i++)
                StrArray[i]="<option value='"+i+"' "+(i==values?"selected":"")+"> "+i+"月</option>\n";
            obj.innerHTML="<select id='select2' style='width:47' onchange='TableFunction().WriteSelect(parentElement,this.value,\"m\",true)' onblur='MonthTD.innerText=this.value+\" 月\"'>\n"+StrArray.join("")+"</select>";
            select2.focus();
            }
        }
    this.RewriteTableStr=function(y,m){
        var TArray=this.GetDateStr(y,m);
        var len=TArray.length;
        for(var i=0;i<len;i++){
            TD[i].innerHTML=TArray[i];
            TD[i].className="TdOut";
            TD[i].cs="TdOut";
            if(new Date().getYear()==y&&new Date().getMonth()+1==m&&new Date().getDate()==TArray[i]){
                TD[i].className="TdOver";
                TD[i].cs="TdOver";
                }
            }
        }
    this.JumpToRun=function(action){
        var YearNO=YearTD.innerText.split(' ')[0];
        var MonthNO=MonthTD.innerText.split(' ')[0];
        if(action=="b"){
            if(MonthNO=="1"){
                MonthNO=13;
                YearNO=YearNO-1;
                }
            MonthTD.innerText=MonthNO-1+" 月";
            YearTD.innerText=YearNO+" 年";
            this.RewriteTableStr(YearNO,MonthNO-1);
            }
        if(action=="n"){
            if(MonthNO=="12"){
                MonthNO=0;
                YearNO=YearNO-(-1);
                }
            YearTD.innerText=YearNO+" 年";
            MonthTD.innerText=MonthNO-(-1)+" 月";
            this.RewriteTableStr(YearNO,MonthNO-(-1));
            }
        }
    this.AlertDay=function(){
        if(event.srcElement.innerText!=" ")
        alert(YearTD.innerText.split(' ')[0]+"年"+MonthTD.innerText.split(' ')[0]+"月"+event.srcElement.innerText+"日");
        }
    return this;
    }
document.write(TableFunction().GetTableStr(new Date().getYear(),new Date().getMonth()+1));
</script>

解决方案 »

  1.   

    楼上的看来没有理解我的意思!我希望是只在点击日历后,可以获取到当月的月份,在一个EDIT控件里显示出年-月例如:2005-12,就可以了,不需要精确到日.
      

  2.   

    在FRONTPAGE中->插入->ACTIVEX控件,选择最后的日历控件即可.
      

  3.   

    梅老大不贴 我帮他帖
    http://meixx.nonamexz.com/
      

  4.   

    http://www.zapatec.com/
    这里的zpcal日历控件偶一直用,符合你的要求。呵呵
      

  5.   

    我有:
    var lastMouseX;
    var lastMouseY;
    var curPopupWindow = null;function setLastMousePosition(e) {
    if (navigator.appName.indexOf("Microsoft") != -1) e = window.event;
    lastMouseX = e.screenX;
    lastMouseY = e.screenY;
    }function openLookup(baseURL) {
    openPopup(baseURL, "Search", 157, 340, "height=180,width=360,dependent=yes,resizable=no,scrollbars=yes,toolbar=no,status=no,directories=no,menubar=no", true);
    }function lookupPick(formName, parentIdElementName, parentEditElementName, id, display) {
    /*

    if (eval(parentIdElement + ".type") == "select-one") {
    var found = false;
    for (i = 0; i < eval(parentIdElement + ".options.length"); i++) {
    if (eval(parentIdElement + ".options[" + i + "].value") == id ) {
    eval(parentIdElement + ".selectedIndex=" + i);
    found = true;
    break;
    }
    }
    if (!found) {
    eval(parentIdElement + ".options[" + parentIdElement + ".options.length] = new Option('" + display + "','" + id + "')");
    eval(parentIdElement + ".selectedIndex=" + parentIdElement + ".options.length - 1");
    }
    eval(parentEditElement + ".value = " + "\"" + display +"\"");    
    } else {
      
    }
    */
        var parentIdElement = "document." + formName + "[\"" + parentIdElementName + "\"]";
    var parentEditElement = "document." + formName + "[\"" + parentEditElementName + "\"]";
        eval(parentIdElement + ".value = " + "\"" + id +"\"");    
    eval(parentEditElement + ".value = " + "\"" + display +"\"");  
    closePopup();
    return false;
    }function closePopup() {
    if (curPopupWindow != null) {
    if (!curPopupWindow.closed) {
    curPopupWindow.close();
    }
    curPopupWindow = null;
    }
    }function openPopup(url, name, pWidth, pHeight, features, snapToLastMousePosition) {
    closePopup();
    if (snapToLastMousePosition) {
    if (lastMouseX - pWidth < 0) {
    lastMouseX = pWidth;
    }
    if (lastMouseY + pHeight > screen.height) {
    lastMouseY -= (lastMouseY + pHeight + 50) - screen.height;
    }
                    lastMouseX -= pWidth;
                    lastMouseY += 10;
    features += "screenX=" + lastMouseX + ",left=" + lastMouseX + "screenY=" + lastMouseY + ",top=" + lastMouseY;
    }
    curPopupWindow = window.open(url, name, features, false);
    }function openCalendar(url) {
    openPopup(url, "Calendar", 177, 320, "height=210,width=400,dependent=yes,resizable=no,toolbar=no,status=no,directories=no,menubar=no", true);
    }function pick(form,field,val) {
    eval("document."+form+"[\""+field+"\"].value=" + "\""+val+"\"");
    closePopup();
    return false;
    }
      

  6.   

    <html>
    <head>
    <script language="JavaScript">
    <!--
    var objReport=null;
    var objYear=null;
    var objMonth=null;
    var objDate=null;
    /*
     *页面初始化
     */
    function init(name){
    var dlts = document.getElementsByName(name);
    objReport=dlts[0];
    objYear=dlts[1];
    objMonth=dlts[2];
    objDate=dlts[3];
    objReport.attachEvent("onchange",RptChg);
    objYear.attachEvent("onchange",YearChg);
    objMonth.attachEvent("onchange",MonthChg);
    var date = new Date();
    var curYear=date.getYear();
    var curMonth=date.getMonth()+1;
    var curDate=date.getDate();
    if(objYear == null || objMonth == null || objDate == null ){
    alert("Can't find object!"); 
    return false;
    }
    var str="";
    optAdd(objReport,"年报");
    optAdd(objReport,"月报");
    optAdd(objReport,"日报");
    initDltValue(objYear,1990,2050);
    initDltValue(objMonth,1,12);
    initDltValue(objDate,1,CalDays(curYear,curMonth));
    objReport.value="日报";
    objYear.value=curYear;
    objMonth.value=curMonth;
    objDate.value=curDate;} 
    /*
     *添加select的option值
     */
    function initDltValue(obj,min,max){
    for(var i=min;i<=max;i++)
    optAdd(obj,i);
    }
    /*
     *当报表类型改变的时候
     */
    function RptChg(){
    switch(objReport.options[objReport.selectedIndex].value){
    case '年报':
    setDisabled(false,true,true); break;
    case '月报':
    setDisabled(false,false,true); break;
    case '日报':
    setDisabled(false,false,false); break;
    }
    }
    /*
     *当年份改变的时候
     */
    function YearChg(){
    var dateVal=objDate.value;
    objDate.innerHTML="";
    initDltValue(objDate,1,CalDays(parseInt(objYear.value),parseInt(objMonth.value)));
    objDate.value=dateVal;
    if(objDate.selectedIndex==-1) objDate.selectedIndex=0;
    }
    /*
     *当月份改变的时候
     */
    function MonthChg(){
    objDate.innerHTML="";
    initDltValue(objDate,1,CalDays(parseInt(objYear.value),parseInt(objMonth.value)));
    }
    /*
     *设置对象的disabled属性
     */
    function setDisabled(a,b,c){
    objYear.disabled=a;
    objMonth.disabled=b;
    objDate.disabled=c;
    }
    /*
     *为select对象添加option
     */
    function optAdd(obj,val){
    var newOpt=document.createElement("option");
    obj.add(newOpt);
    newOpt.value=val;
    newOpt.text=val;
    }
    /*
     *根据年月计算天数
     */
    function CalDays(year,mon){
    var date= new Date(year,mon,0);
    return date.getDate();}
    //-->
    </script>
    </head>
    <body onLoad="init('dltDate');init('dltDate1');">
    <table cellpadding=0 cellspacing=0 border=0 width=400>
    <tr>
    <td width="25%"><select name="dltDate" style="width:100%"></select></td>
    <td width="25%"><select name="dltDate" style="width:100%"></select></td>
    <td width="25%"><select name="dltDate" style="width:100%"></select></td>
    <td width="25%"><select name="dltDate" style="width:100%"></select></td>
    </tr>
    <tr>
    <td width="25%"><select name="dltDate1" style="width:100%"></select></td>
    <td width="25%"><select name="dltDate1" style="width:100%"></select></td>
    <td width="25%"><select name="dltDate1" style="width:100%"></select></td>
    <td width="25%"><select name="dltDate1" style="width:100%"></select></td>
    </tr>
    </table>
    </body>
    </html>
    这个是为报表查询做的,改改就行了