【www.gdgbn.com--js教程】
<script>
// default settings
var fontface="arial";
var fontsize=12;
var titlewidth=90;
var titlemode=1;
var daywidth=12;
var daydigits=1;
var titlecolor="#cccccc";
var dayscolor="#cccccc";
var bodycolor="#ffffff";
var daycolor="#ffffff";
var currentdaycolor="#333333";
var footcolor="#cccccc";
var bordercolor="#333333";
var titlefontcolor = "#333333";
var daysfontcolor = "#333333";
var dayfontcolor = "#333333";
var currentdayfontcolor = "#ffffff";
var footfontcolor = "#333333";
var calformat = "yyyy-mm-dd";
var weekday = 0;
// ------
// codes
var calwidth=200, calheight=240, caloffsetx=-200, caloffsety=16;
var calwin=null;
var winx=0, winy=0;
var cal="cal";
var cals=new array();
var currentcal=null;
var yxmonths=new array("1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月");
var yxdays=new array("日", "一", "二", "三", "四", "五", "六", "日");
var yxlinks=new array("[关闭]", "[清除]");
var isopera=(navigator.useragent.indexof("opera")!=-1)?true:false;
var isopera5=(navigator.appversion.indexof("msie 5")!=-1 && navigator.useragent.indexof("opera 5")!=-1)?true:false;
var isopera6=(navigator.appversion.indexof("msie 5")!=-1 && navigator.useragent.indexof("opera 6")!=-1)?true:false;
var isn6=(navigator.useragent.indexof("gecko")!=-1);
var isn4=(document.layers)?true:false;
var ismac=(navigator.useragent.indexof("mac")!=-1);
var isie=(document.all && !isopera && (!ismac || navigator.appversion.indexof("msie 4")==-1))?true:false;
if (isn4) {
fontsize+=2;
}
var span2="";
function span1(tag) {
return "";
}
function spanx(tag, color) {
return "."+tag+" { font-family:"+fontface+"; font-size:"+fontsize+"px; color:"+color+"; }n";
}
function a1(tag) {
return "
}
function ax(tag, color) {
return "."+tag+" { text-decoration:none; color:"+color+"; }n";
}
function calobj(name, title, field, form) {
this.name = name;
this.title = title;
this.field = field;
this.formname = form;
this.form = null
}
function setfont(font, size) {
if (font != "") {
fontface=font;
}
if (size > 0) {
fontsize=size;
if (isn4) {
fontsize+=2;
}
}
}
function setwidth(twidth, tmode, dwidth, ddigits) {
if (twidth > 0) {
titlewidth=twidth;
}
if (tmode == 1 || tmode == 2) {
titlemode=tmode;
}
if (dwidth > 0) {
daywidth=dwidth;
}
if (ddigits > 0) {
daydigits=ddigits;
}
}
function setcolor(tcolor, dscolor, bcolor, dcolor, cdcolor, fcolor, bdcolor) {
if (tcolor != "") {
titlecolor=tcolor;
}
if (dscolor != "") {
dayscolor=dscolor;
}
if (bcolor != "") {
bodycolor=bcolor;
}
if (dcolor != "") {
daycolor=dcolor;
}
if (cdcolor != "") {
currentdaycolor=cdcolor;
}
if (fcolor != "") {
footcolor=fcolor;
}
if (bdcolor != "") {
bordercolor=bdcolor;
}
}
function setfontcolor(tcolorfont, dscolorfont, dcolorfont, cdcolorfont, fcolorfont) {
if (tcolorfont != "") {
titlefontcolor=tcolorfont;
}
if (dscolorfont != "") {
daysfontcolor=dscolorfont;
}
if (dcolorfont != "") {
dayfontcolor=dcolorfont;
}
if (cdcolorfont != "") {
currentdayfontcolor=cdcolorfont;
}
if (fcolorfont != "") {
footfontcolor=fcolorfont;
}
}
function setformat(format) {
calformat = format;
}
function setsize(width, height, ox, oy) {
if (width > 0) {
calwidth=width;
}
if (height > 0) {
calheight=height;
}
caloffsetx=ox;
caloffsety=oy;
}
function setweekday(wday) {
if (wday == 0 || wday == 1) {
weekday = wday;
}
}
function setmonthnames(janname, febname, marname, aprname, mayname, junname, julname, augname, sepname, octname, novname, decname) {
if (janname != "") {
yxmonths[0] = janname;
}
if (febname != "") {
yxmonths[1] = febname;
}
if (marname != "") {
yxmonths[2] = marname;
}
if (aprname != "") {
yxmonths[3] = aprname;
}
if (mayname != "") {
yxmonths[4] = mayname;
}
if (junname != "") {
yxmonths[5] = junname;
}
if (julname != "") {
yxmonths[6] = julname;
}
if (augname != "") {
yxmonths[7] = augname;
}
if (sepname != "") {
yxmonths[8] = sepname;
}
if (octname != "") {
yxmonths[9] = octname;
}
if (novname != "") {
yxmonths[10] = novname;
}
if (decname != "") {
yxmonths[11] = decname;
}
}
function setdaynames(sunname, monname, tuename, wedname, thuname, friname, satname) {
if (sunname != "") {
yxdays[0] = sunname;
yxdays[7] = sunname;
}
if (monname != "") {
yxdays[1] = monname;
}
if (tuename != "") {
yxdays[2] = tuename;
}
if (wedname != "") {
yxdays[3] = wedname;
}
if (thuname != "") {
yxdays[4] = thuname;
}
if (friname != "") {
yxdays[5] = friname;
}
if (satname != "") {
yxdays[6] = satname;
}
}
function setlinknames(closelink, clearlink) {
if (closelink != "") {
yxlinks[0] = closelink;
}
if (clearlink != "") {
yxlinks[1] = clearlink;
}
}
function addcalendar(name, title, field, form) {
cals[cals.length] = new calobj(name, title, field, form);
}
function findcalendar(name) {
for (var i = 0; i < cals.length; i++) {
if (cals[i].name == name) {
if (cals[i].form == null) {
if (cals[i].formname == "") {
if (document.forms[0]) {
cals[i].form = document.forms[0];
}
}
else if (document.forms[cals[i].formname]) {
cals[i].form = document.forms[cals[i].formname];
}
}
return cals[i];
}
}
return null;
}
function getdayname(y,m,d) {
var wd=new date(y,m,d);
return yxdays[wd.getday()].substring(0,3);
}
function getmonthfromname(m3) {
for (var i = 0; i < yxmonths.length; i++) {
if (yxmonths[i].tolowercase().substring(0,3) == m3.tolowercase()) {
return i;
}
}
return 0;
}
function getformat() {
var calf = calformat;
calf = calf.replace(//g, "\");
calf = calf.replace(///g, "/");
calf = calf.replace(/[/g, "[");
calf = calf.replace(/]/g, "]");
calf = calf.replace(/(/g, "(");
calf = calf.replace(/)/g, ")");
calf = calf.replace(/{/g, "{");
calf = calf.replace(/}/g, "}");
calf = calf.replace(/
calf = calf.replace(/>/g, ">");
calf = calf.replace(/|/g, "|");
calf = calf.replace(/*/g, "*");
calf = calf.replace(/?/g, "?");
calf = calf.replace(/+/g, "+");
calf = calf.replace(/^/g, "^");
calf = calf.replace(/$/g, "$");
calf = calf.replace(/dd/i, "dd");
calf = calf.replace(/mm/i, "dd");
calf = calf.replace(/yyyy/i, "dddd");
calf = calf.replace(/day/i, "www");
calf = calf.replace(/mon/i, "www");
return new regexp(calf);
}
function getdatenumbers(date) {
var y, m, d;
var yidx = calformat.search(/yyyy/i);
var midx = calformat.search(/mm/i);
var m3idx = calformat.search(/mon/i);
var didx = calformat.search(/dd/i);
y=date.substring(yidx,yidx+4)-0;
if (midx != -1) {
m=date.substring(midx,midx+2)-1;
}
else {
var m = getmonthfromname(date.substring(m3idx,m3idx+3));
}
d=date.substring(didx,didx+2)-0;
return new array(y,m,d);
}
function hidecal() {
calwin.close();
calwin = null;
window.status = "";
}
function getleftie(x,m) {
var dx=0;
if (x.tagname=="td"){
dx=x.offsetleft;
}
else if (x.tagname=="table") {
dx=x.offsetleft;
if (m) { dx+=(x.cellpadding!=""?parseint(x.cellpadding):2); m=false; }
}
return dx+(x.parentelement.tagname=="body"?0:getleftie(x.parentelement,m));
}
function gettopie(x,m) {
var dy=0;
if (x.tagname=="tr"){
dy=x.offsettop;
}
else if (x.tagname=="table") {
dy=x.offsettop;
if (m) { dy+=(x.cellpadding!=""?parseint(x.cellpadding):2); m=false; }
}
return dy+(x.parentelement.tagname=="body"?0:gettopie(x.parentelement,m));
}
function getleftn4(l) { return l.pagex; }
function gettopn4(l) { return l.pagey; }
function getleftn6(l) { return l.offsetleft; }
function gettopn6(l) { return l.offsettop; }
function lastday(d) {
var yy=d.getfullyear(), mm=d.getmonth();
for (var i=31; i>=28; i--) {
var nd=new date(yy,mm,i);
if (mm == nd.getmonth()) {
return i;
}
}
}
function firstday(d) {
var yy=d.getfullyear(), mm=d.getmonth();
var fd=new date(yy,mm,1);
return fd.getday();
}
function daydisplay(i) {
if (daydigits == 0) {
return yxdays[i];
}
else {
return yxdays[i].substring(0,daydigits);
}
}
function caltitle(d) {
var yy=d.getfullyear(), mm=yxmonths[d.getmonth()];
var s;
if (titlemode == 2) {
s="n"+span1("title")+""+a1("titlea")+""网页特效:if(window.opener && !window.opener.closed && window.opener.moveyear) window.opener.moveyear(-10)"> « "+a1("titlea")+""javascript:if(window.opener && !window.opener.closed && window.opener.moveyear) window.opener.moveyear(-1)">‹ "+span2+""+span1("title")+yy+span2+""+span1("title")+""+a1("titlea")+""javascript:if (window.opener && !window.opener.closed && window.opener.moveyear) window.opener.moveyear(1)"> › "+a1("titlea")+""javascript:if (window.opener && !window.opener.closed && window.opener.moveyear) window.opener.moveyear(10)">» "+span2+""+span1("title")+""+a1("titlea")+""javascript:if (window.opener && !window.opener.closed && window.opener.prepmonth) window.opener.prepmonth("+d.getmonth()+")"> ‹ "+span2+""+span1("title")+mm+span2+""+span1("title")+""+a1("titlea")+""javascript:if (window.opener && !window.opener.closed && window.opener.nextmonth) window.opener.nextmonth("+d.getmonth()+")"> › "+span2+"n";
}
else {
s="n"+span1("title")+""+a1("titlea")+""javascript:if(window.opener && !window.opener.closed && window.opener.moveyear) window.opener.moveyear(-1)"> « "+a1("titlea")+""javascript:if (window.opener && !window.opener.closed && window.opener.prepmonth) window.opener.prepmonth("+d.getmonth()+")">‹ "+span2+"
}
for (var i=weekday; i
}
s+="";
return s;
}
function calheader() {
return "
}
function calfooter() {
return ""+span1("foot")+""+a1("foota")+""javascript:if (window.opener && !window.opener.closed && window.opener.hidecal) window.opener.hidecal()">"+yxlinks[0]+" "+a1("foota")+""javascript:if (window.opener && !window.opener.closed && window.opener.cleardate) window.opener.cleardate()">"+yxlinks[1]+""+span2+"nn";
}
function calbody(d,day) {
var s="", daycount=1, fd=firstday(d), ld=lastday(d);
if (weekday > 0 && fd == 0) {
fd = 7;
}
for (var i=0; i<6; i++) {
s+="";
for (var j=weekday; j
s+=""+span1("day")+" "+span2+"";
}
else {
var bgcolor=daycolor;
var fgtag="day";
var fgtaga="daya";
if (daycount==day) {
bgcolor=currentdaycolor;
fgtag="currentday";
fgtaga="currenta";
}
s+=""+span1(fgtag)+a1(fgtaga)+""javascript: if (window.opener && !window.opener.closed && window.opener.pickdate) window.opener.pickdate("+daycount+")">"+(daycount++)+""+span2+"";
}
}
s+="";
}
return s;
}
function moveyear(dy) {
cy+=dy;
var nd=new date(cy,cm,1);
changecal(nd);
}
function prepmonth(m) {
cm=m-1;
if (cm<0) { cm=11; cy--; }
var nd=new date(cy,cm,1);
changecal(nd);
}
function nextmonth(m) {
cm=m+1;
if (cm>11) { cm=0; cy++;}
var nd=new date(cy,cm,1);
changecal(nd);
}
function changecal(d) {
var dd = 0;
if (currentcal != null) {
var calre = getformat();
if (currentcal.form[currentcal.field].value!="" && calre.test(currentcal.form[currentcal.field].value)) {
var cd = getdatenumbers(currentcal.form[currentcal.field].value);
if (cd[0] == d.getfullyear() && cd[1] == d.getmonth()) {
dd=cd[2];
}
}
else {
var cd = new date();
if (cd.getfullyear() == d.getfullyear() && cd.getmonth() == d.getmonth()) {
dd=cd.getdate();
}
}
}
var calendar=calheader()+caltitle(d)+calbody(d,dd)+calfooter();
calwin.document.open();
calwin.document.write(calendar);
calwin.document.close();
}
function markclick(e) {
if (isie || isopera6) {
winx=event.screenx;
winy=event.screeny;
}
else if (isn4 || isn6) {
winx=e.screenx;
winy=e.screeny;
document.routeevent(e);
}
return true;
}
function showcal(name) {
var lastcal=currentcal;
var d=new date(), hascal=false;
currentcal = findcalendar(name);
if (currentcal != null && currentcal.form != null && currentcal.form[currentcal.field]) {
var calre = getformat();
if (currentcal.form[currentcal.field].value!="" && calre.test(currentcal.form[currentcal.field].value)) {
var cd = getdatenumbers(currentcal.form[currentcal.field].value);
d=new date(cd[0],cd[1],cd[2]);
cy=cd[0];
cm=cd[1];
dd=cd[2];
}
else {
cy=d.getfullyear();
cm=d.getmonth();
dd=d.getdate();
}
var calendar=calheader()+caltitle(d)+calbody(d,dd)+calfooter();
if (calwin != null && !calwin.closed) {
hascal=true;
calwin.moveto(winx+caloffsetx,winy+caloffsety);
}
if (!hascal) {
if (isie || isopera6) {
calwin=window.open("","cal","toolbar=0,width="+calwidth+",height="+calheight+",left="+(winx+caloffsetx)+",top="+(winy+caloffsety));
}
else {
calwin=window.open("","cal","toolbar=0,width="+calwidth+",height="+calheight+",screenx="+(winx+caloffsetx)+",screeny="+(winy+caloffsety));
}
}
calwin.document.open();
calwin.document.write(calendar);
calwin.document.close();
calwin.focus();
}
else {
if (currentcal == null) {
window.status = "calendar ["+name+"] not found.";
}
else if (!currentcal.form) {
window.status = "form ["+currentcal.formname+"] not found.";
}
else if (!currentcal.form[currentcal.field]) {
window.status = "form field ["+currentcal.formname+"."+currentcal.field+"] not found.";
}
if (lastcal != null) {
currentcal = lastcal;
}
}
}
function get2digits(n) {
return ((n<10)?"0":"")+n;
}
function cleardate() {
currentcal.form[currentcal.field].value="";
hidecal();
}
function pickdate(d) {
hidecal();
window.focus();
var date=calformat;
date = date.replace(/yyyy/i, cy);
date = date.replace(/mm/i, get2digits(cm+1));
date = date.replace(/mon/, yxmonths[cm].substring(0,3).touppercase());
date = date.replace(/mon/i, yxmonths[cm].substring(0,3));
date = date.replace(/dd/i, get2digits(d));
date = date.replace(/day/, getdayname(cy,cm,d).touppercase());
date = date.replace(/day/i, getdayname(cy,cm,d));
currentcal.form[currentcal.field].value=date;
// ie5/mac needs focus to show the value, weird.
currentcal.form[currentcal.field].focus();
}
// ------
// user functions
function checkdate(name) {
var thiscal = findcalendar(name);
if (thiscal != null && thiscal.form != null && thiscal.form[thiscal.field]) {
var calre = getformat();
if (calre.test(thiscal.form[thiscal.field].value)) {
return 0;
}
else {
return 1;
}
}
else {
return 2;
}
}
function getcurrentdate() {
var date=calformat, d = new date();
date = date.replace(/yyyy/i, d.getfullyear());
date = date.replace(/mm/i, get2digits(d.getmonth()+1));
date = date.replace(/dd/i, get2digits(d.getdate()));
return date;
}
function comparedates(date1, date2) {
var calre = getformat();
var d1, d2;
if (calre.test(date1)) {
d1 = getnumbers(date1);
}
else {
d1 = getnumbers(getcurrentdate());
}
if (calre.test(date2)) {
d2 = getnumbers(date2);
}
else {
d2 = getnumbers(getcurrentdate());
}
var dstr1 = d1[0] + "" + d1[1] + "" + d1[2];
var dstr2 = d2[0] + "" + d2[1] + "" + d2[2];
if (dstr1 == dstr2) {
return 0;
}
else if (dstr1 > dstr2) {
return 1;
}
else {
return -1;
}
}
function getnumbers(date) {
var calre = getformat();
var y, m, d;
if (calre.test(date)) {
var yidx = calformat.search(/yyyy/i);
var midx = calformat.search(/mm/i);
var m3idx = calformat.search(/mon/i);
var didx = calformat.search(/dd/i);
y=date.substring(yidx,yidx+4);
if (midx != -1) {
m=date.substring(midx,midx+2);
}
else {
var mm=getmonthfromname(date.substring(m3idx,m3idx+3))+1;
m=(mm<10)?("0"+mm):(""+mm);
}
d=date.substring(didx,didx+2);
return new array(y,m,d);
}
else {
return new array("", "", "");
}
}
// ------
if (isn4 || isn6) {
document.captureevents(event.click);
}
document.onclick=markclick;
</script>
会员号
姓名
电话
性别
生日
xxx
李逵
13589885595
男
19880296
xxx
李渊
13589885595
女
19683635