frappe
中階會員
發表:88 回覆:114 積分:95 註冊:2008-10-21
發送簡訊給我
|
我在網路上看到一篇範例, 感覺滿實用的,但是照步驟做, 按button都沒反應 網址[code delphi] "; htmlAll =""; /// Month htmloMonth="<select id='" this.sMONTHID "' this.instanceName ") ='width:50%'>"; for(i=this.startYear;i<=this.endYear;i ) { htmloYear =" "; } htmloYear ="</select></div>"; /// Day htmloDayTable=" "; htmloDayTable =""; htmloDayTable =this.weekDaySting[j] "" } else { htmloDayTable ="" htmloButton ="<button id='" this.sTODAYBTNID "' ='width:40%;border:1px solid #BCD0DE;background-color:#eeeeee;cursor:hand'" <br /> htmloButton =" CalendarCancel(" this.instanceName ")>" this.oBtnCancelTitle "</button> " htmloButton ="" /// All htmlAll=htmlAll htmloMonth htmloYear htmloDayTable htmloButton ""; (htmlAll); this.Fill(); } function CalendarFill() /// { var sMonth,sYear,sWeekDay,sToday,oTable,currRow,MaxDay,iDaySn,sIndex,rowIndex,cellIndex,oSelectMonth,oSelectYear sMonth=this.currDate.getMonth(); sYear=this.currDate.getYear(); sWeekDay=(new Date(sYear,sMonth,1)).getDay(); sToday=this.currDate.getDate(); iDaySn=1 oTable=document.all[this.sTABLEID]; currRow=oTable.rows[1]; MaxDay=CalendarGetMaxDay(sYear,sMonth); oSelectMonth=document.all[this.sMONTHID] oSelectMonth.selectedIndex=sMonth; oSelectYear=document.all[this.sYEARID] for(i=0;i { if(parseInt(oSelectYear.options[i].value)==sYear)oSelectYear.selectedIndex=i; } //// for(rowIndex=1;rowIndex<=6;rowIndex ) { if(iDaySn>MaxDay)break; currRow = oTable.rows[rowIndex]; cellIndex = 0; if(rowIndex==1)cellIndex = sWeekDay; for(;cellIndex { if(iDaySn==sToday) { currRow.cells[cellIndex]="" iDaySn ""; this.oPreviousCell=currRow.cells[cellIndex]; } else { currRow.cells[cellIndex]=iDaySn; currRow.cells[cellIndex].style.color=this.normalfontColor; } CalendarCellSetCss(0,currRow.cells[cellIndex]); iDaySn ; if(iDaySn>MaxDay)break; } } } function CalendarRestore() /// Clear Data { var i,j,oTable oTable=document.all[this.sTABLEID] for(i=1;i { for(j=0;j { CalendarCellSetCss(0,oTable.rows[i].cells[j]); oTable.rows[i].cells[j]=" "; } } } function CalendarRefresh(newDate) /// { this.currDate=newDate; this.Restore(); this.Fill(); } function CalendarCellsMsOver(oInstance) /// Cell MouseOver { var myCell = event.srcElement; CalendarCellSetCss(0,oInstance.oPreviousCell); if(myCell) { CalendarCellSetCss(1,myCell); oInstance.oPreviousCell=myCell; } } function CalendarCellsMsOut(oInstance) ////// Cell MouseOut { var myCell = event.srcElement; CalendarCellSetCss(0,myCell); } function CalendarYearChange(oInstance) /// Year Change { var sDay,sMonth,sYear,newDate sDay=oInstance.currDate.getDate(); sMonth=oInstance.currDate.getMonth(); sYear=document.all[oInstance.sYEARID].value newDate=new Date(sYear,sMonth,sDay); oInstance.Refresh(newDate); } function CalendarMonthChange(oInstance) /// Month Change { var sDay,sMonth,sYear,newDate sDay=oInstance.currDate.getDate(); sMonth=document.all[oInstance.sMONTHID].value sYear=oInstance.currDate.getYear(); newDate=new Date(sYear,sMonth,sDay); oInstance.Refresh(newDate); } function CalendarCellsClick(oCell,oInstance) { var sDay,sMonth,sYear,newDate sYear=oInstance.currDate.getFullYear(); sMonth=oInstance.currDate.getMonth(); sDay=oInstance.currDate.getDate(); if(oCell.innerText!=" ") { sDay=parseInt(oCell.innerText); if(sDay!=oInstance.currDate.getDate()) { newDate=new Date(sYear,sMonth,sDay); oInstance.Refresh(newDate); } } sDateString=sYear oInstance.separator CalendarDblNum(sMonth 1) oInstance.separator CalendarDblNum(sDay); ///return sDateString if(oInstance.oTaget.tagName.toLowerCase()=="input")oInstance.oTaget.value = sDateString; CalendarCancel(oInstance); return sDateString; } function CalendarTodayClick(oInstance) /// "Today" button Change { oInstance.Refresh(new Date()); } function getDateString(oInputSrc,oInstance) { if(oInputSrc&&oInstance) { var CalendarDiv=document.all[oInstance.sDIVID]; oInstance.oTaget=oInputSrc; CalendarDiv.style.pixelLeft=CalendargetPos(oInputSrc,"Left"); CalendarDiv.style.pixelTop=CalendargetPos(oInputSrc,"Top") oInputSrc.offsetHeight; CalendarDiv.style.display=(CalendarDiv.style.display=="none")?"":"none"; } } function CalendarCellSetCss(sMode,oCell) /// Set Cell Css { // sMode // 0: OnMouserOut 1: OnMouseOver if(sMode) { oCell.style.border="1px solid #5589AA"; oCell.style.backgroundColor="#BCD0DE"; } else { oCell.style.border="1px solid #FFFFFF"; oCell.style.backgroundColor="#FFFFFF"; } } function CalendarGetMaxDay(nowYear,nowMonth) /// Get MaxDay of current month { var nextMonth,nextYear,currDate,nextDate,theMaxDay nextMonth=nowMonth 1; if(nextMonth>11) { nextYear=nowYear 1; nextMonth=0; } else { nextYear=nowYear; } currDate=new Date(nowYear,nowMonth,1); nextDate=new Date(nextYear,nextMonth,1); theMaxDay=(nextDate-currDate)/(24*60*60*1000); return theMaxDay; } function CalendargetPos(el,ePro) /// Get Absolute Position { var ePos=0; while(el!=null) { ePos =el["offset" ePro]; el=el.offsetParent; } return ePos; } function CalendarDblNum(num) { if(num < 10) return "0" num; else return num; } function CalendarCancel(oInstance) ///Cancel { var CalendarDiv=document.all[oInstance.sDIVID]; CalendarDiv.style.display="none"; } var oCalendarEn=new PopupCalendar("oCalendarEn"); //初始化控件时,请给出实例名称如:oCalendarEn oCalendarEn.Init();
var oCalendarChs=new PopupCalendar("oCalendarChs"); //初始化控件时,请给出实例名称:oCalendarChs oCalendarChs.weekDaySting=new Array("日","一","二","三","四","五","六"); oCalendarChs.monthSting=new Array("一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"); oCalendarChs.oBtnTodayTitle="今天"; oCalendarChs.oBtnCancelTitle="取消"; oCalendarChs.Init(); 然后呢,在iwbutton1的scriptevents.onclick 里面加入如下js var s="test"; var xx=document.getElementById(s); getDateString(xx,oCalendarEn); 在iwbutton2的scriptevents.onclick里面加入如下的js var s="test"; var xx=document.getElementById(s); getDateString(xx,oCalendarChs); 好了到此完成,分别按一下iwbutton1与iwbutton2就可以看到效果了,
[/code]
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!
|
|