当前位置:起点学习辅导网培训频道电脑知识学习网页制作Javascript教程js日历控件(可精确到分钟)

js日历控件(可精确到分钟)

08-08 00:48:04浏览次数:956栏目:Javascript教程
标签:javascript视频教程,javascript教程下载, js日历控件(可精确到分钟),
        var str = "";
        var fDay = new Date(this.year,this.month,1).getDay();
        var fDate = 1-fDay;
        var lDay = new Date(this.year,this.month+1,0).getDay();
        var lDate = new Date(this.year,this.month+1,0).getDate();
        str += "<table class="cal_drawdate" border="0" cellspacing="0" cellpadding="0" id=""+this.fName+"_dateTable"+"">";
        for (var i=1,j=fDate;i<7;i++)
        {
            str += "<tr>";
            for (var k=0;k<7;k++)
            {
                str += "<td><span"+(j==this.date?" class="selected"":"")+" onclick=""+this.name+".redrawDate(this.innerText)">"+(isDate(j++))+"</span></td>";
            }
            str += "</tr>";
        }
        str += "</table>";
        return str;
        function isDate(n)
        {
            return (n>=1&&n<=lDate)?n:"";
        }
    }
    //public
    this.redrawDate = function(d)
    {
        this.year = document.getElementById(this.fName+"_year").value;
        this.month = document.getElementById(this.fName+"_month").value-1;
//alert(this.date)
this.date = d || this.date;
//alert(this.date)
document.getElementById(this.fName+"_year").value = this.year;
        document.getElementById(this.fName+"_month").selectedIndex = this.month;
        document.getElementById(this.fName+"_date").value = this.date;
        if (this.date>new Date(this.year,this.month+1,0).getDate()) this.date = new Date(this.year,this.month+1,0).getDate();
        document.getElementById(this.fName+"_dateTable").outerHTML = this.drawDate();
        //alert(this.year);
        //alert(this.month);
        //alert(this.date);
        getDateTime();
    }
    //public
    this.getDate = function(delimiter)
    {
var s_month,s_date;
s_month=this.month+1;
s_date=this.date;
s_month = ("0"+s_month);
s_month=s_month.substr(s_month.length-2);
s_date = ("0"+s_date);
s_date=s_date.substr(s_date.length-2);
if (!delimiter) delimiter = "-";
        var aValue = [this.year,s_month,s_date];
        return aValue.join(delimiter);
    }
}
function getDateTime(){
    //alert(c.getDate()+' '+m.getTime());    
    gdCtrl.value = c.getDate()+' '+m.getTime();
}
var gdCtrl = new Object();
function showCal(popCtrl){    
    gdCtrl = popCtrl;
    event.cancelBubble=true;
    //alert(popCtrl);
    var point = fGetXY(popCtrl);
    //alert(point.x);
    //var point = new Point(100,100);
//alert(gdCtrl.value);
var gdValue=gdCtrl.value;
var i_year,i_month,i_day,i_hour,i_minute;
if(gdCtrl.value!="" && validateDate1(gdCtrl.value,'yyyy-MM-dd HH:mm')){
i_year=gdValue.substr(0,4);
if(gdValue.substr(5,1)=="0"){
i_month=parseInt(gdValue.substr(6,1));
}else{
i_month=parseInt(gdValue.substr(5,2));
}
if(gdValue.substr(8,1)=="0"){
i_day=parseInt(gdValue.substr(9,1));
}else{
i_day=parseInt(gdValue.substr(8,2));
}
i_hour1=gdValue.substr(11,2);
i_minute=gdValue.substr(14,2);
//alert(i_hour1+"aaa");
//alert(i_minute);
document.getElementById(c.fName+"_year").value = i_year;
document.getElementById(c.fName+"_month").value= i_month;
        //document.getElementById(c.fName+"_date").value = i_day;
c.date=i_day;
document.getElementsByName(m.fName)[0].value=i_hour1;
document.getElementsByName(m.fName)[1].value=i_minute;
c.redrawDate();
}
//c.month=
with (dateTime.style) {
        left = point.x;
        top = point.y+popCtrl.offsetHeight+1;
        width = dateTime.offsetWidth;
        height = dateTime.offsetHeight;
        //fToggleTags(point);
        visibility = 'visible';
    }
    
    dateTime.focus();
}
function Point(iX, iY){
    this.x = iX;
    this.y = iY;
}
function validateDate1(date,format){
var time=date;
if(time=="") return;
var reg=format;
var reg=reg.replace(/yyyy/,"[0-9]{4}");
var reg=reg.replace(/yy/,"[0-9]{2}");
var reg=reg.replace(/MM/,"((0[1-9])|1[0-2])");
var reg=reg.replace(/M/,"(([1-9])|1[0-2])");
var reg=reg.replace(/dd/,"((0[1-9])|([1-2][0-9])|30|31)");
var reg=reg.replace(/d/,"([1-9]|[1-2][0-9]|30|31))");
var reg=reg.replace(/HH/,"(([0-1][0-9])|20|21|22|23)");
var reg=reg.replace(/H/,"([0-9]|1[0-9]|20|21|22|23)");
var reg=reg.replace(/mm/,"([0-5][0-9])");

上一页  [1] [2] [3] [4] [5]  下一页

,js日历控件(可精确到分钟)
《js日历控件(可精确到分钟)》相关文章
给资讯打分:
网友评论: