請問如何在月曆控制項做計算
我在Dreamweaver設計了javascript calendar月曆控制項想在底下做2個欄位,讓使用者選了日期後
按下計算的按鈕,會顯示所選的日期會減15天和加15天
例如所選的是 2010/06/14,按下按鈕會顯示2010/05/30 和 2010/06/29
請問有什麼方法可以做 [list=1]
[*]先取得 calendar 元件被選取的日期
[*]轉成 timestamp
[*]加上 86400*1000*15 或減去 86400*1000*15
[*]再轉回日期
[/list]
例如當前時間 +15 天:
[code js]
var ts = new Date().getTime();
ts += 86400*1000*15;
alert(new Date(ts));
[/code] [b]回復 [url=http://jsgears.com/redirect.php?goto=findpost&pid=1430&ptid=502]2#[/url] [i]wmh[/i] [/b]
請問wmh大大
取得 calendar 元件被選取的日期的值是在哪段?
改過很多次都沒有顯示被選取的日期
不好意思 我是新手
月曆控制項是用 calender.mxp 擴充元件 這我也不清楚耶,我沒有在用 Dreamwaver :( 不一定要Dreamweavar
只想知道插入Java script之後
被選到日期的值是什麼[code]
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>------</title>
</body>
<script type="text/javascript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function YYcalclose(YYwhat){//v4.0
if (YYwhat>=0){
var yyTag = YYwhat - yyW + 2;
if ((yyTag > 0)&&(yyTag <= dom[yyDiv.m])){
var d=yyTag;
if (YYLang=='de'){YYstrdatum = d+'.'+eval(yyDiv.m+1)+'.'+yyDiv.year;} //13.4.1968
if (YYLang=='com'){YYstrdatum = YYstrm[yyDiv.m].substring(0,3) +' '+d+', '+yyDiv.year;}
if (YYLang=='av'){YYstrdatum = d+'/'+YYstrm[yyDiv.m].substring(0,3)+'/'+yyDiv.year;}
yyDatevar.value=YYstrdatum;
}
}
if (document.layers){yyDiv.visibility = "hide";}
if (document.all||document.getElementById){yyDiv.style.visibility = "hidden";}
}
function YYgoYear(YY){//v4.0
var newYear = eval(yyDiv.year) + YY;
yyDiv.year = newYear.toString(10);
if (YY==0){} else {YYsetMonth(yyDiv.m,yyDiv.year)}
setTimeout('YYcaldraw(yyDiv.d,yyDiv.m,yyDiv.year)',(document.layers)?'300':'1');
}
function YYsetMonth(YYm, YYy){//v4.0
var startDate = new Date();
startDate.setMonth(YYm); startDate.setYear(YYy); startDate.setDate(1);
yyW = startDate.getDay();
if (yyW==0){yyW=7}
var daSchalt = yyDiv.year % 4;
if (daSchalt==0){dom[1]=29}else {dom[1]=28}
}
function YYgoMonth(YY){//v4.0
yyDiv.m=yyDiv.m+YY;
if (yyDiv.m<0){yyDiv.m+=12;YYgoYear(-1)}
else {if (yyDiv.m>11){yyDiv.m=yyDiv.m-12;YYgoYear(1)}
else{setTimeout('YYcaldraw(yyDiv.d,yyDiv.m,yyDiv.year)',(document.layers)?'300':'1')}
}
YYsetMonth(yyDiv.m,yyDiv.year);
}
function YYsetDate(){//v4.0
var myDate = new Date();
yyDiv.year=myDate.getYear();
if ((myDate.getYear() > 86)&&(myDate.getYear() <= 99)) { yyDiv.year= '19' + myDate.getYear() }
if ((myDate.getYear() > 99)&&(myDate.getYear() < 1900)) { yyDiv.year= (1900 + myDate.getYear())+''; }
if (myDate.getYear() <= 86){ yyDiv.year= '20' + myDate.getYear() }//2000!!
yyDiv.m = myDate.getMonth();
yyDiv.d = myDate.getDate();
var w = myDate.getDay();
YYsetMonth(yyDiv.m,yyDiv.year);
YYgoYear(0);
}
function YYcaldraw(ycd,ycm,ycy){//v4.0
// writing the calendar table
var yyfnt="<font size=1 color='"+yyDiv.yyTextcolor+"' face=\'Arial, sans-serif\'>";
var myTR = "<tr bgcolor=\'"+yyDiv.yyBgcolor+"\'>";
var yyatag="<a href='#' style=\"color: "+yyDiv.yyTextcolor+"; text-decoration: none\" onClick=";
if (document.layers||document.all||document.getElementById){
var myMonth = YYstrm[ycm];
var mytxt="<table border=\'0\' cellspacing=\'1\' cellpadding=\'3\' width=\'210\'>";
mytxt+=myTR+"<td colspan='7'>"+yyfnt+yyatag+"'YYgoMonth(-1)'><< </a>";
mytxt+=myMonth;
mytxt+=yyatag+"'YYgoMonth(1)'> >></a> ";
mytxt+=yyatag+"'YYgoYear(-1)'><< </a> "+ycy+" ";
mytxt+=yyatag+"'YYgoYear(1)'> >></a> ";
mytxt+=yyatag+"'YYcalclose()' title='close'>(x)</a></font></td></tr>"+myTR;
mytxt+="<td>"+yyfnt+"MO</font></td><td>"+yyfnt+"TU</font></td><td>"+yyfnt+"WE</font></td><td>"+yyfnt+"TH</font></td>";
mytxt+="<td>"+yyfnt+"FR</font></td><td>"+yyfnt+"SA</font></td><td>"+yyfnt+"<font color=red>SU</font></font></td></tr>"+myTR;
for (var i=0;i<=41;i++){
myStr=((i > (dom[ycm]+yyW-2))||(i < yyW-1))?" ":i-yyW+2;
mytxt+="<td>"+yyfnt+yyatag+"\'YYcalclose("+i+")\' title='"+myMonth+" "+myStr+", "+ycy+"'>"+ myStr + "</a></font></td>";
if ((i==6) || (i==13) || (i==20) || (i==27) || (i==34) || (i==41)) { mytxt+=myTR }
}
mytxt+="</table>";
}
if (document.layers){
with (yyDiv.document){
open('text/html');
write(mytxt);
close();
}
} // end of ns4
else if (document.all||document.getElementById){
yyDiv.innerHTML=mytxt;
} // end of ie4x / dom
}
function YY_Calendar(YYwhat,YYleft, YYtop,YYformat, YYtextcolor, YYbgcolor){//v4.0
yyDiv= MM_findObj('Calendar1');
yyDiv.yyTextcolor = YYtextcolor;
yyDiv.yyBgcolor = YYbgcolor;
YYsetDate();
if (document.layers){
yyDiv.left = YYleft;
yyDiv.top = YYtop;
yyDiv.visibility ="show";
}
if (document.all){
yyDiv.style.pixelLeft = YYleft;
yyDiv.style.pixelTop = YYtop;
yyDiv.style.visibility = "visible";
}else
if (document.getElementById){
yyDiv.style.left = YYleft;
yyDiv.style.top = YYtop;
yyDiv.style.visibility = "visible";
}
yyDatevar = MM_findObj(YYwhat);
YYLang=YYformat;
}
//-->
</script>
<!-- #BeginBehavior YY_Calendar1 -->
<SCRIPT LANGUAGE='JavaScript'>
<!--
var yyDatevar ='YYnull';
var yyDiv=null;var YYLang='de';
var dom= new Array(12);
dom[0]=31;dom[1]=28;dom[2]=31;dom[3]=30;dom[4]=31;dom[5]=30;dom[6]=31;dom[7]=31;dom[8]=30;dom[9]=31;dom[10]=30;dom[11]=31;
var YYstrm= new Array(12);
YYstrm[0]='January';YYstrm[1]='February';YYstrm[2]='March';YYstrm[3]='April';YYstrm[4]='May';YYstrm[5]='June';YYstrm[6]='July';
YYstrm[7]='August'; YYstrm[8]='September';YYstrm[9]='October';YYstrm[10]='November';YYstrm[11]='December';
//-->
</SCRIPT>
<div id='Calendar1' style='position:absolute; left:1px; top:1px; width:200px; height:115px; z-index:20; visibility: hidden'></div>
<!-- #EndBehavior YY_Calendar1 -->
<form name="form1" method="post" action="">
<label>
<input type="text" name="t1" id="t1">
</label>
<label>
<input name="b1" type="button" id="b1" onClick="YY_Calendar('t1',0,0,'com','#FFFFFF','#000000','YY_calendar1')" value="選日期">
</label>
</form>
</html>[/code] 看起來在 YYcalclose() 裡面組出來的 YYstrdatum 就是了
頁:
[1]