Prizes & Awards
My Profile
Active Members
TodayLast 7 Days
more...
|
Forums » .NET » ASP.NET »
Javascript Calendar Control in C#
Posted Date: 24 Sep 2008 Posted By: Kumar Member Level: Gold Points: 1
Responses:
3
|
Hi all, Can anyone please send me the javascript code for popup calendar in the format dd-mm-yyyy. i need this urgently,Clicking the textbox display the javascript. Please any one send me this Code.
Thanx in advance,
Kumar
|
Responses
|
| Author: Anil Kumar Pandey 24 Sep 2008 | Member Level: Diamond | Rating:  Points: 6 | hi,,
please refer this file..
function positionInfo(object) {
var p_elm = object;
this.getElementLeft = getElementLeft; function getElementLeft() { var x = 0; var elm; if(typeof(p_elm) == "object"){ elm = p_elm; } else { elm = document.getElementById(p_elm); } while (elm != null) { x+= elm.offsetLeft; elm = elm.offsetParent; } return parseInt(x); }
this.getElementWidth = getElementWidth; function getElementWidth(){ var elm; if(typeof(p_elm) == "object"){ elm = p_elm; } else { elm = document.getElementById(p_elm); } return parseInt(elm.offsetWidth); }
this.getElementRight = getElementRight; function getElementRight(){ return getElementLeft(p_elm) + getElementWidth(p_elm); }
this.getElementTop = getElementTop; function getElementTop() { var y = 0; var elm; if(typeof(p_elm) == "object"){ elm = p_elm; } else { elm = document.getElementById(p_elm); } while (elm != null) { y+= elm.offsetTop; elm = elm.offsetParent; } return parseInt(y); }
this.getElementHeight = getElementHeight; function getElementHeight(){ var elm; if(typeof(p_elm) == "object"){ elm = p_elm; } else { elm = document.getElementById(p_elm); } return parseInt(elm.offsetHeight); }
this.getElementBottom = getElementBottom; function getElementBottom(){ return getElementTop(p_elm) + getElementHeight(p_elm); } }
function CalendarControl() {
var calendarId = 'CalendarControl'; var currentYear = 0; var currentMonth = 0; var currentDay = 0;
var selectedYear = 0; var selectedMonth = 0; var selectedDay = 0;
var months = ['January','February','March','April','May','June','July','August','September','October','November','December']; var dateField = null;
function getProperty(p_property){ var p_elm = calendarId; var elm = null;
if(typeof(p_elm) == "object"){ elm = p_elm; } else { elm = document.getElementById(p_elm); } if (elm != null){ if(elm.style){ elm = elm.style; if(elm[p_property]){ return elm[p_property]; } else { return null; } } else { return null; } } }
function setElementProperty(p_property, p_value, p_elmId){ var p_elm = p_elmId; var elm = null;
if(typeof(p_elm) == "object"){ elm = p_elm; } else { elm = document.getElementById(p_elm); } if((elm != null) && (elm.style != null)){ elm = elm.style; elm[ p_property ] = p_value; } }
function setProperty(p_property, p_value) { setElementProperty(p_property, p_value, calendarId); }
function getDaysInMonth(year, month) { return [31,((!(year % 4 ) && ( (year % 100 ) || !( year % 400 ) ))?29:28),31,30,31,30,31,31,30,31,30,31][month-1]; }
function getDayOfWeek(year, month, day) { var date = new Date(year,month-1,day) return date.getDay(); }
this.clearDate = clearDate; function clearDate() { dateField.value = ''; hide(); }
this.setDate = setDate; function setDate(year, month, day) { if (dateField) { if (month < 10) {month = "0" + month;} if (day < 10) {day = "0" + day;}
var dateString = month+"-"+day+"-"+year; dateField.value = dateString; hide(); } return; }
this.changeMonth = changeMonth; function changeMonth(change) { currentMonth += change; currentDay = 0; if(currentMonth > 12) { currentMonth = 1; currentYear++; } else if(currentMonth < 1) { currentMonth = 12; currentYear--; }
calendar = document.getElementById(calendarId); calendar.innerHTML = calendarDrawTable(); }
this.changeYear = changeYear; function changeYear(change) { currentYear += change; currentDay = 0; calendar = document.getElementById(calendarId); calendar.innerHTML = calendarDrawTable(); }
function getCurrentYear() { var year = new Date().getYear(); if(year < 1900) year += 1900; return year; }
function getCurrentMonth() { return new Date().getMonth() + 1; }
function getCurrentDay() { return new Date().getDate(); }
function calendarDrawTable() {
var dayOfMonth = 1; var validDay = 0; var startDayOfWeek = getDayOfWeek(currentYear, currentMonth, dayOfMonth); var daysInMonth = getDaysInMonth(currentYear, currentMonth); var css_class = null; //CSS class for each day
var table = "<table cellspacing='0' cellpadding='0' border='0'>"; table = table + "<tr class='header'>"; table = table + " <td colspan='2' class='previous'><a href='javascript:changeCalendarControlMonth(-1);'><</a> <a href='javascript:changeCalendarControlYear(-1);'>«</a></td>"; table = table + " <td colspan='3' class='title'>" + months[currentMonth-1] + "<br>" + currentYear + "</td>"; table = table + " <td colspan='2' class='next'><a href='javascript:changeCalendarControlYear(1);'>»</a> <a href='javascript:changeCalendarControlMonth(1);'>></a></td>"; table = table + "</tr>"; table = table + "<tr><th>S</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th></tr>";
for(var week=0; week < 6; week++) { table = table + "<tr>"; for(var dayOfWeek=0; dayOfWeek < 7; dayOfWeek++) { if(week == 0 && startDayOfWeek == dayOfWeek) { validDay = 1; } else if (validDay == 1 && dayOfMonth > daysInMonth) { validDay = 0; }
if(validDay) { if (dayOfMonth == selectedDay && currentYear == selectedYear && currentMonth == selectedMonth) { css_class = 'current'; } else if (dayOfWeek == 0 || dayOfWeek == 6) { css_class = 'weekend'; } else { css_class = 'weekday'; }
table = table + "<td><a class='"+css_class+"' href=\"javascript:setCalendarControlDate("+currentYear+","+currentMonth+","+dayOfMonth+")\">"+dayOfMonth+"</a></td>"; dayOfMonth++; } else { table = table + "<td class='empty'> </td>"; } } table = table + "</tr>"; }
table = table + "<tr class='header'><th colspan='7' style='padding: 3px;'><a href='javascript:clearCalendarControl();'>Clear</a> | <a href='javascript:hideCalendarControl();'>Close</a></td></tr>"; table = table + "</table>";
return table; }
this.show = show; function show(field) { can_hide = 0; // If the calendar is visible and associated with // this field do not do anything. if (dateField == field) { return; } else { dateField = field; }
if(dateField) { try { var dateString = new String(dateField.value); var dateParts = dateString.split("-"); selectedMonth = parseInt(dateParts[0],10); selectedDay = parseInt(dateParts[1],10); selectedYear = parseInt(dateParts[2],10); } catch(e) {} }
if (!(selectedYear && selectedMonth && selectedDay)) { selectedMonth = getCurrentMonth(); selectedDay = getCurrentDay(); selectedYear = getCurrentYear(); }
currentMonth = selectedMonth; currentDay = selectedDay; currentYear = selectedYear;
if(document.getElementById){
calendar = document.getElementById(calendarId); calendar.innerHTML = calendarDrawTable(currentYear, currentMonth);
setProperty('display', 'block');
var fieldPos = new positionInfo(dateField); var calendarPos = new positionInfo(calendarId);
var x = fieldPos.getElementLeft(); var y = fieldPos.getElementBottom();
setProperty('left', x + "px"); setProperty('top', y + "px"); if (document.all) { setElementProperty('display', 'block', 'CalendarControlIFrame'); setElementProperty('left', x + "px", 'CalendarControlIFrame'); setElementProperty('top', y + "px", 'CalendarControlIFrame'); setElementProperty('width', calendarPos.getElementWidth() + "px", 'CalendarControlIFrame'); setElementProperty('height', calendarPos.getElementHeight() + "px", 'CalendarControlIFrame'); } } }
this.hide = hide; function hide() { if(dateField) { setProperty('display', 'none'); setElementProperty('display', 'none', 'CalendarControlIFrame'); dateField = null; } }
this.visible = visible; function visible() { return dateField }
this.can_hide = can_hide; var can_hide = 0; }
var calendarControl = new CalendarControl();
function showCalendarControl(textField) { // textField.onblur = hideCalendarControl; calendarControl.show(textField); }
function clearCalendarControl() { calendarControl.clearDate(); }
function hideCalendarControl() { if (calendarControl.visible()) { calendarControl.hide(); } }
function setCalendarControlDate(year, month, day) { calendarControl.setDate(year, month, day); }
function changeCalendarControlYear(change) { calendarControl.changeYear(change); }
function changeCalendarControlMonth(change) { calendarControl.changeMonth(change); }
document.write("<iframe id='CalendarControlIFrame' src='javascript:false;' frameBorder='0' scrolling='no'></iframe>"); document.write("<div id='CalendarControl'></div>");
Regards Anil
Thanks & Regards Anil Kumar Pandey
| | Author: Abhay 24 Sep 2008 | Member Level: Diamond | Rating:  Points: 6 | i have done it.
this is code and attachment.
clientside code:
javascript function:
function ShowCalendar(oCalendarTextBox) { if( oCalendarTextBox.value != "") {
oCalendarTextBox.value = "";
}
if ( oCalendarTextBox.value == "" ) {
var oDate = new Date(); oCalDate=(oDate.getMonth()+1) + '/' + oDate.getDate() + '/' + oDate.getFullYear();
} else { // Check if not valid date then shoe todays date
if(DateIsValid(oCalendarTextBox.value)) {
oCalDate=oCalendarTextBox.value; } else{
var oDate = new Date(); oCalDate=(oDate.getMonth()+1) + '/' + oDate.getDate() + '/' + oDate.getFullYear(); }
}
var CalVal=window.showModalDialog(sRootPath + 'Image/Calendar.htm', oCalDate, 'dialogLeft:500px;dialogTop:500px;dialogHeight:219px;dialogWidth:265px;center:No;help:No;scroll:No;resizable:No;status:No;');
if(CalVal!="") {
oCalendarTextBox.value = CalVal; oCalendarTextBox.select(); oCalendarTextBox.focus(); } }
<td style="FONT-WEIGHT: bolder; FONT-STYLE: italic"> <asp:Label Runat="server" ID="lblpost" style="DISPLAY:none">POSTED FROM</asp:Label> <asp:textbox style="DISPLAY:none" id="txtfrom" Width="112px" Runat="server" ReadOnly="false" MaxLength="10" CssClass="txtBox"></asp:textbox> <IMG id="Imgfrom" onclick="ShowCalendar(document.getElementById('txtfrom'));" alt="Calendar" src="Image\calendar.gif" border="0" Runat="server" style="DISPLAY: none; CURSOR: hand"> <asp:Label Runat="server" ID="lblto" style="DISPLAY:none">TO</asp:Label> <asp:textbox id="txtto" Width="112px" Runat="server" ReadOnly="false" MaxLength="10" CssClass="txtBox" style="DISPLAY:none"></asp:textbox> <IMG id="Imgto" onclick="ShowCalendar(document.getElementById('txtto'));" alt="Calendar" src="Image\calendar.gif" border="0" Runat="server" style="DISPLAY: none; CURSOR: hand"> </td>
serverside: protected string sRootPath;
pageload:
Session["ROOT_PATH"] = Request.Url.Scheme + "://" + Request.Url.Host + Request.ApplicationPath + "/"; sRootPath = this.Session["ROOT_PATH"].ToString(); Page.RegisterClientScriptBlock("RootPath","<script language=javascript>var sRootPath='" + sRootPath + "';</script>");
put this attchmentfile in your project folder.
Thanks and Regards, Abhay
168210-30328-167566-27243-calendar.z | | Author: aNiL 25 Sep 2008 | Member Level: Silver | Rating:  Points: 6 | Hi,
Just put like that in your markup file u can use html control as well asp.net control. just call the javascript function like that and pass the argument u do like
<asp:textbox id="txtdate" runat="server" CssClass="inputtext96" MaxLength="10"></asp:textbox> <A onmouseover="if (timeoutId) clearTimeout(timeoutId);window.status='Show Calendar';return true;" onclick="g_Calendar.show(event,'Form1.txtdate',false,'dd/mm/yyyy',new Date(2006,12,01),new Date()); return false;" onmouseout="if (timeoutDelay) calendarTimeout();window.status='';" href="javascript: void(0);"> <IMG height="15" alt="" src="images/calendar.gif" width="25" border="0" name="imgCalendar"></A>
simplecalendar.js |
| Post Reply |
|
|
|
 | | This thread is locked for new responses. Please post your comments and questions as a separate thread. If required, refer to the URL of this page in your new post. |
|
|
|
|