Hello,
I m having the following issue:
(1) I cannot playback the step of clicking on a calendar icon. I went to view source and checked the name and id of the calendar. The name and id of calendar are changing everytime. If at all I am able to click the calendar I cannot playback the step of selecting a different year.
Can I somehow set the date without actually clicking on the calendar and selecting a date? The text field beside the calendar is read only.
I m new to Telerik. Please help.
P.S. Please see below the error that I get.
Thank You,
Vaishali
I m having the following issue:
(1) I cannot playback the step of clicking on a calendar icon. I went to view source and checked the name and id of the calendar. The name and id of calendar are changing everytime. If at all I am able to click the calendar I cannot playback the step of selecting a different year.
Can I somehow set the date without actually clicking on the calendar and selecting a date? The text field beside the calendar is read only.
I m new to Telerik. Please help.
P.S. Please see below the error that I get.
Failure Information: ~~~~~~~~~~~~~~~Unable to locate element. Details: Attempting to find [Html] element using Find logic (Html): [id 'Exact' image289] AND [tagname 'Exact' img]Unable to locate element. Search failed!Element was found by backup search only! We recommend editing the element to correct the primary find expression. Backup search: 'xpath=/html[1]/body[1]/form[1]/table[1]/tbody[1]/tr[1]/td[1]/div[2]/table[1]/tbody[1]/tr[43]/td[2]/p[1]/a[1]/img[1]'
Thank You,
Vaishali
7 Answers, 1 is accepted
0
Mario
Top achievements
Rank 1
answered on 27 Nov 2013, 07:14 PM
Could you provide the html snippet of the calendar? I might be able to help, but would need to see how the calendars html is structured.
From my experience, automating calendar clicks on specific dates (when no text field exists) is way too much work for the actual task you are trying to accomplish.
Mario
From my experience, automating calendar clicks on specific dates (when no text field exists) is way too much work for the actual task you are trying to accomplish.
Mario
0
Vaishali
Top achievements
Rank 1
answered on 27 Nov 2013, 07:36 PM
Please find the HTML code snippet and image attached (calendar image). If possible please help me to enter date in read only input field without clicking on the calendar icon.
Thank you.
<
A
HREF
=
"javascript:openCalendar('FormName.issueDate')"
onMouseOver
=
"document.images['image134'].src='/papa11/images/SignCalendar_r.gif'"
onMouseOut
=
"document.images['image134'].src='/papa11/images/SignCalendar.gif'"
/><
IMG
NAME
=
"image134"
SRC
=
"/papa11/images/SignCalendar.gif"
border
=
"0"
align
=
"absbottom"
vspace
=
"1"
alt
=
""
/></
A
>
0
Mario
Top achievements
Rank 1
answered on 27 Nov 2013, 07:49 PM
Can you find the html of the actual calendar? Look at the screenshot I attached to this for an example.
0
Vaishali
Top achievements
Rank 1
answered on 27 Nov 2013, 08:06 PM
<!DOCTYPE HTML<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<
HTML
>
<
HEAD
>
<
TITLE
>Calendar</
TITLE
>
<
meta
HTTP-EQUIV
=
"refresh"
CONTENT
=
"2400;URL=/papa11/timeout.gtc"
>
<
script
language
=
"JavaScript"
>
// written by Tan Ling Wee on 2 Dec 2001
// last updated 28 Mar 2002
// email : fuushikaden@yahoo.com
var fixedX = -1 // x position (-1 if to appear
below control)
var fixedY = -1 // y position (-1 if to appear
below control)
var startAt = 1 // 0 - sunday ; 1 - monday
var showWeekNumber = 1 // 0 - don't show; 1 - show
var showToday = 1 // 0 - don't show; 1 - show
var imgDir = "/papa11/images/" // directory for
images ... e.g. var imgDir="/img/"
var gotoString = "Go To Current Month"
var todayString = "Today is"
var weekString = "Wk"
var scrollLeftMessage = "Click to scroll to previous month. Hold mouse
button to scroll automatically."
var scrollRightMessage = "Click to scroll to next month. Hold mouse
button to scroll automatically."
var selectMonthMessage = "Click to select a month."
var selectYearMessage = "Click to select a year."
var selectDateMessage = "Select [date] <
span
title
=
as_date
>as
date.</
span
>" // do not replace [date], it will be replaced by date.
var clearCalendarMessage = "Click to clear the calendar."
var crossobj, crossMonthObj, crossYearObj, monthSelected,
yearSelected, dateSelected, omonthSelected, oyearSelected, odateSelected,
monthConstructed, yearConstructed, intervalID1, intervalID2, timeoutID1,
timeoutID2, ctlToPlaceValue, ctlNow, dateFormat, nStartingYear
var bPageLoaded=false
var ie=document.all
var dom=document.getElementById
var ns4=document.layers
var today = new Date()
var dateNow = today.getDate()
var monthNow = today.getMonth()
var yearNow = today.getFullYear()
var imgsrc = new Array
("calendar_drop1.gif","calendar_drop2.gif","calendar_left1.gif","calendar_left
2.gif","calendar_right1.gif","calendar_right2.gif")
var img = new Array()
var formName = true
function submitForm() {
var date = constructDate(dateSelected,monthSelected,yearSelected);
var dateFormat = 'US';
if (dateFormat == 'EU') {
var dateUS = document.Calendar.elements['issueDate'].value;
// alert(dateUS);
var dateEU = dateUS.substring(8,10) + "-" + dateUS.substring(5,7) + "-"
+ dateUS.substring(0,4);
if (!formName ){
window.opener.document.issueDate.value = dateEU;
}else{
window.opener.document.FormName.elements['issueDate'].value =
dateEU;
}
// alert(dateEU);
}else if( dateFormat == 'AE'){
var dateUS = document.Calendar.elements['issueDate'].value;
var dateEU = dateUS.substring(8,10) + "." + dateUS.substring(5,7) + "."
+ dateUS.substring(0,4);
if (!formName ){
window.opener.document.issueDate.value = dateEU;
}else{
window.opener.document.FormName.elements['issueDate'].value = dateEU;
}
} else {
if (!formName){
window.opener.document.issueDate.value =date;
}else{
window.opener.document.FormName.elements['issueDate'].value =
date;
}
}
if(yearSelected == 0){
if (!formName){
window.opener.document.issueDate.value = "";
}else{
window.opener.document.FormName.elements['issueDate'].value =
"";
}
}
var callFunc = 'doNothing';
if (callFunc != 'doNothing') window.opener.doNothing;
callOnUnload();
document.Calendar.submit();
window.close();
}
function clearCalendar(){
dateSelected = 0
monthSelected = -1
yearSelected = 0
hideCalendar();
ctlToPlaceValue.value = constructDate
(dateSelected,monthSelected,yearSelected)
submitForm()
}
function HolidayRec (d, m, y, desc)
{
this.d = d
this.m = m
this.y = y
this.desc = desc
}
var HolidaysCounter = 0
var Holidays = new Array()
function addHoliday (d, m, y, desc)
{
Holidays[HolidaysCounter++] = new HolidayRec ( d, m, y, desc )
}
if (dom)
{
for (i=0;i<
imgsrc.length
;i++)
{
img[i] = new Image
img[i]
.src
=
imgDir
+ imgsrc[i]
}
document.write ("<div
id
=
'calendar'
style
=
'position:absolute;visibility:hidden;'
><
table
width="+
((showWeekNumber==1)?250:220)+" style='font-family:arial;font-
size:11px;border-width:1px;border-style:solid;border-color:#a0a0a0;font-
family:arial; font-size:11px}'
bgcolor
=
'#ffffff'
><
tr
bgcolor
=
'#0000aa'
><
td
><
table
width
=
'"+((showWeekNumber==1)?248:218)+"'
><
tr
><
td
style
=
'padding:2px;font-family:arial; font-size:11px;'
><
font
color
=
'#ffffff'
><
B
><
span
id
=
'caption'
></
span
></
B
></
font
></
td
><
td
align
=
right
><
a
href
=
'javascript:hideCalendar();self.close();'
><
IMG
SRC
=
'"+imgDir+"calendar_close.gif'
WIDTH
=
'15'
HEIGHT
=
'13'
BORDER
=
'0'
ALT
=
'Close the Calendar'
></
a
></
td
></
tr
></
table
></
td
></
tr
><
tr
><
td
style
=
'padding:5px'
bgcolor=#ffffff><
span
id
=
'content'
></
span
></
td
></
tr
>")
if (showToday==1)
{
document.write ("<
tr
bgcolor=#f0f0f0><
td
style
=
'padding:5px'
align
=
center
><
span
id
=
'lblToday'
></
span
></
td
></
tr
>")
}
document.write ("</
table
></
div
><
div
id
=
'selectMonth'
style
=
'position:absolute;visibility:hidden;'
></
div
><
div
id
=
'selectYear'
style
=
'position:absolute;visibility:hidden;'
></
div
>");
}
var monthName = new Array( "January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December")
if (startAt==0)
{
dayName = new Array("Sun",
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat")
}
else
{
dayName = new Array("Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat",
"Sun")
}
var styleAnchor="text-decoration:none;color:black;"
var styleLightBorder="border-style:solid;border-width:1px;border-
color:#a0a0a0;"
function swapImage(srcImg, destImg){
if (ie) { document.getElementById(srcImg).setAttribute
("src",imgDir + destImg) }
}
function init() {
if (!ns4)
{
// if (!ie) { yearNow += 1900 }
crossobj=(dom)?document.getElementById
("calendar").style : ie? document.all.calendar : document.calendar
hideCalendar()
crossMonthObj=(dom)?document.getElementById
("selectMonth").style : ie? document.all.selectMonth : document.selectMonth
crossYearObj=(dom)?document.getElementById
("selectYear").style : ie? document.all.selectYear : document.selectYear
monthConstructed=false;
yearConstructed=false;
if (showToday==1)
{
document.getElementById("lblToday").innerHTML
= todayString + " <
a
onmousemove
=
'window.status=\""+gotoString+"\"'
onmouseout
=
'window.status=\"\"'
title
=
'"+gotoString+"'
style
=
'"+styleAnchor+"'
href='
javascript:monthSelected
=
monthNow
;
yearSelected
=
yearNow
;constructCalendar
();'>"+dayName[(today.getDay()-startAt==-1)?6:(today.getDay()-startAt)]+", " +
dateNow + " " + monthName[monthNow].substring(0,3) + " " +
yearNow + "</
a
>"
}
sHTML1="<
span
id
=
'spanLeft'
style='border-
style:solid; border-width:1px; border-color:#3366FF;cursor:pointer'
onmouseover='swapImage
(\"changeLeft\",\"calendar_left2.gif\");this.style.borderColor=\"#88AAFF\";win
dow.status=\""+scrollLeftMessage+"\"'
onclick
=
'javascript:decMonth()'
onmouseout='clearInterval(intervalID1);swapImage
(\"changeLeft\",\"calendar_left1.gif\");this.style.borderColor=\"#3366FF\";win
dow.status=\"\"' onmousedown='clearTimeout(timeoutID1);
timeoutID1
=
setTimeout
(\"StartDecMonth()\",500)' onmouseup='clearTimeout
(timeoutID1);clearInterval(intervalID1)'> <
IMG
id
=
'changeLeft'
SRC
=
'"+imgDir+"calendar_left1.gif'
width
=
10
height
=
10
BORDER
=
0
> </
span
> "
sHTML1+="<
span
id
=
'spanRight'
style='border-
style:solid; border-width:1px; border-color:#3366FF;cursor:pointer'
onmouseover='swapImage
(\"changeRight\",\"calendar_right2.gif\");this.style.borderColor=\"#88AAFF\";w
indow.status=\""+scrollRightMessage+"\"' onmouseout='clearInterval
(intervalID1);swapImage
(\"changeRight\",\"calendar_right1.gif\");this.style.borderColor=\"#3366FF\";w
indow.status=\"\"'
onclick
=
'incMonth()'
onmousedown='clearTimeout
(timeoutID1);
timeoutID1
=
setTimeout
(\"StartIncMonth()\",500)'
onmouseup
=
'clearTimeout(timeoutID1);clearInterval(intervalID1)'
> <
IMG
id
=
'changeRight'
SRC
=
'"+imgDir+"calendar_right1.gif'
width
=
10
height
=
10
BORDER
=
0
> </
span
> "
sHTML1+="<
span
id
=
'spanMonth'
style='border-
style:solid; border-width:1px; border-color:#3366FF;cursor:pointer'
onmouseover='swapImage
(\"changeMonth\",\"calendar_drop2.gif\");this.style.borderColor=\"#88AAFF\";wi
ndow.status=\""+selectMonthMessage+"\"' onmouseout='swapImage
(\"changeMonth\",\"calendar_drop1.gif\");this.style.borderColor=\"#3366FF\";wi
ndow.status=\"\"'
onclick
=
'popUpMonth()'
></
span
> "
sHTML1+="<
span
id
=
'spanYear'
style='border-
style:solid; border-width:1px; border-color:#3366FF;cursor:pointer'
onmouseover='swapImage
(\"changeYear\",\"calendar_drop2.gif\");this.style.borderColor=\"#88AAFF\";win
dow.status=\""+selectYearMessage+"\"' onmouseout='swapImage
(\"changeYear\",\"calendar_drop1.gif\");this.style.borderColor=\"#3366FF\";win
dow.status=\"\"'
onclick
=
'popUpYear()'
></
span
> "
sHTML1+="<
span
id
=
'clearCalendar'
style='border-
style:solid;border-width:1px;border-color:#3366FF;cursor:pointer'
onmouseover='this.style.borderColor=\"#FF0000
\";window.status=\""+clearCalendarMessage+"\"'
onmouseout
=
'this.style.borderColor=\"#3366FF\";window.status=\"\"'
onclick
=
'clearCalendar()'
></
span
> "
document.getElementById("caption").innerHTML = sHTML1
bPageLoaded=true
var dateFormat = 'US';
var date = '';
if (!formName ){
date = window.opener.document.issueDate.value ;
}else {
date = window.opener.document.FormName.elements
['issueDate'].value;
}
if (dateFormat == 'EU'){
date = date.substring(6,10) + "-" + date.substring(3,5) + "-"
+ date.substring(0,2);
}
document.Calendar.elements['issueDate'].value = date;
popUpCalendar(this, document.Calendar.elements['issueDate'], 'yyyy-mm-
dd');//
}
}
function hideCalendar() {
crossobj.visibility="hidden"
if (crossMonthObj != null){crossMonthObj.visibility="hidden"}
if (crossYearObj != null)
{crossYearObj.visibility="hidden"}
//Closing a popup window when user clicked 'x', close the
calendar. Added by D.T.
self.closed
}
function padZero(num) {
return (num <
10
)? '0' + num : num ;
}
function constructDate(d,m,y)
{
sTmp
=
dateFormat
sTmp
= sTmp.replace ("dd","<e>")
sTmp = sTmp.replace ("d","<
d
>")
sTmp = sTmp.replace ("<
e
>",padZero(d))
sTmp = sTmp.replace ("<
d
>",d)
sTmp = sTmp.replace ("mmm","<
o
>")
sTmp = sTmp.replace ("mm","<
n
>")
sTmp = sTmp.replace ("m","<
m
>")
sTmp = sTmp.replace ("<
m
>",m+1)
sTmp = sTmp.replace ("<
n
>",padZero(m+1))
sTmp = sTmp.replace ("<
o
>",monthName[m])
return sTmp.replace ("yyyy",y)
}
function closeCalendar() {
var sTmp
var tmpDate = new Date()
var tmpCompareDate = ''
if(tmpCompareDate != '' && (Date.UTC
(yearSelected,monthSelected,dateSelected) <
Date.UTC
() || Date.UTC
(yearSelected,monthSelected,dateSelected) > Date.UTC(tmpDate.getUTCFullYear(),
tmpDate.getUTCMonth(), tmpDate.getUTCDate())))
{
alert("The Date Must Be Later Than Earliest Displayed Date And Earlier
Than Today\'s Date")
}
else
{
hideCalendar();
ctlToPlaceValue.value = constructDate
(dateSelected,monthSelected,yearSelected)
//Submit the selected date to servlet(servletPath). Added by J.K 2003-
05-29
submitForm()
//Closing popup window when date is selected. Added By D.T.
///self.close()
}
}
/*** Month Pulldown ***/
function StartDecMonth()
{
intervalID1=setInterval("decMonth()",80)
}
function StartIncMonth()
{
intervalID1=setInterval("incMonth()",80)
}
function incMonth () {
monthSelected++
if (monthSelected>11) {
monthSelected=0
yearSelected++
}
constructCalendar()
}
function decMonth () {
monthSelected--
if (monthSelected<
0
) {
monthSelected
=
11
yearSelected--
}
constructCalendar()
}
function constructMonth() {
popDownYear()
if (!monthConstructed) {
sHTML
=
""
for (
i
=
0
; i<12; i++) {
sName
=
monthName
[i];
if (i==monthSelected){
sName = "<B>" + sName + "</
B
>"
}
sHTML += "<
tr
><
td
id
=
'm" + i + "'
onmouseover
=
'this.style.backgroundColor=\"#FFCC99\"'
onmouseout
=
'this.style.backgroundColor=\"\"'
style
=
'cursor:pointer'
onclick='
monthConstructed
=
false
;
monthSelected
=
" + i + "
;constructCalendar
();popDownMonth();
event.cancelBubble
=
true
'> " + sName +
" </
td
></
tr
>"
}
document.getElementById("selectMonth").innerHTML =
"<
table
width
=
70
style='font-family:arial; font-size:11px; border-
width:1px; border-style:solid; border-color:#a0a0a0;'
bgcolor
=
'#FFFFDD'
cellspacing
=
0
onmouseover
=
'clearTimeout(timeoutID1)'
onmouseout='clearTimeout(timeoutID1);
timeoutID1
=
setTimeout
(\"popDownMonth()
\",100);
event.cancelBubble
=
true
'>" + sHTML + "</
table
>"
monthConstructed=true
}
}
function popUpMonth() {
constructMonth()
crossMonthObj.visibility = (dom||ie)? "visible" : "show"
if(crossobj.left == "")
crossMonthObj.left = 50;
else
crossMonthObj.left = parseInt(crossobj.left) + 50;
if(crossobj.top == "")
crossMonthObj.top = 26;
else
crossMonthObj.top = parseInt(crossobj.top) + 26;
}
function popDownMonth() {
crossMonthObj.visibility= "hidden"
}
/*** Year Pulldown ***/
function incYear() {
for (i=0; i<
7
; i++){
newYear = (i+nStartingYear)+1
if (newYear==yearSelected)
{ txtYear = " <B>" + newYear +
"</
B
> " }
else
{ txtYear = " " + newYear + " " }
document.getElementById("y"+i).innerHTML = txtYear
}
nStartingYear ++;
}
function decYear() {
for (i=0; i<
7
; i++){
newYear = (i+nStartingYear)-1
if (newYear==yearSelected)
{ txtYear = " <B>" + newYear +
"</
B
> " }
else
{ txtYear = " " + newYear + " " }
document.getElementById("y"+i).innerHTML = txtYear
}
nStartingYear --;
}
function selectYear(nYear) {
yearSelected=parseInt(nYear+nStartingYear);
yearConstructed=false;
constructCalendar();
popDownYear();
}
function constructYear() {
popDownMonth()
sHTML = ""
if (!yearConstructed) {
sHTML = "<
tr
><
td
align
=
'center'
onmouseover
=
'this.style.backgroundColor=\"#FFCC99\"'
onmouseout
=
'clearInterval(intervalID1);this.style.backgroundColor=\"\"'
style
=
'cursor:pointer'
onmousedown='clearInterval
(intervalID1);
intervalID1
=
setInterval
(\"decYear()\",30)'
onmouseup
=
'clearInterval(intervalID1)'
>-</
td
></
tr
>"
j = 0
nStartingYear = yearSelected-3
for (i=(yearSelected-3); i<=(yearSelected+3); i++)
{
sName = i;
if (i==yearSelected){
sName = "<
B
>" + sName + "</
B
>"
}
sHTML += "<
tr
><
td
id
=
'y" + j + "'
onmouseover
=
'this.style.backgroundColor=\"#FFCC99\"'
onmouseout
=
'this.style.backgroundColor=\"\"'
style
=
'cursor:pointer'
onclick
=
'selectYear("+j+");event.cancelBubble=true'
> " + sName +
" </
td
></
tr
>"
j ++;
}
sHTML += "<
tr
><
td
align
=
'center'
onmouseover
=
'this.style.backgroundColor=\"#FFCC99\"'
onmouseout
=
'clearInterval(intervalID2);this.style.backgroundColor=\"\"'
style
=
'cursor:pointer'
onmousedown='clearInterval
(intervalID2);
intervalID2
=
setInterval
(\"incYear()\",30)'
onmouseup
=
'clearInterval(intervalID2)'
>+</
td
></
tr
>"
document.getElementById("selectYear").innerHTML =
"<
table
width
=
44
style='font-family:arial; font-size:11px; border-width:1px;
border-style:solid; border-color:#a0a0a0;'
bgcolor
=
'#FFFFDD'
onmouseover
=
'clearTimeout(timeoutID2)'
onmouseout='clearTimeout
(timeoutID2);
timeoutID2
=
setTimeout
(\"popDownYear()\",100)'
cellspacing
=
0
>"
+ sHTML + "</
table
>"
yearConstructed = true
}
}
function popDownYear() {
clearInterval(intervalID1)
clearTimeout(timeoutID1)
clearInterval(intervalID2)
clearTimeout(timeoutID2)
crossYearObj.visibility= "hidden"
}
function popUpYear() {
var leftOffset
constructYear()
crossYearObj.visibility = (dom||ie)? "visible" : "show"
if(crossobj.left == "")
leftOffset = document.getElementById
("spanYear").offsetLeft
else
leftOffset = parseInt(crossobj.left) +
document.getElementById("spanYear").offsetLeft
if (ie)
{
leftOffset += 6
}
crossYearObj.left = leftOffset
if(crossobj.top == "")
crossYearObj.top = 26
else
crossYearObj.top = parseInt(crossobj.top) + 26
}
/*** calendar ***/
function WeekNbr(today)
{
Year = takeYear(today);
Month = today.getMonth();
Day = today.getDate();
now = Date.UTC(Year,Month,Day+1,0,0,0);
var Firstday = new Date();
Firstday.setYear(Year);
Firstday.setMonth(0);
Firstday.setDate(1);
then = Date.UTC(Year,0,1,0,0,0);
var Compensation = Firstday.getDay();
if (Compensation > 3) Compensation -= 4;
else Compensation += 3;
NumberOfWeek = Math.round((((now-then)/86400000)
+Compensation)/7);
return NumberOfWeek;
}
function takeYear(theDate)
{
x = theDate.getYear();
var y = x % 100;
y += (y <
38
) ? 2000 : 1900;
return y;
}
function constructCalendar () {
var
aNumDays
=
Array
(31,0,31,30,31,30,31,31,30,31,30,31)
var dateMessage
var
startDate
=
new
Date
(yearSelected,monthSelected,1)
var endDate
if (monthSelected==1)
{
endDate
=
new
Date (yearSelected,monthSelected+1,1);
endDate
=
new
Date (endDate - (24*60*60*1000));
numDaysInMonth
=
endDate
.getDate()
}
else
{
numDaysInMonth
=
aNumDays
[monthSelected];
}
datePointer
=
0
dayPointer
=
startDate
.getDay() - startAt
if (dayPointer<0)
{
dayPointer
=
6
}
sHTML = "<table
border
=
0
style='font-family:verdana;font-
size:10px;'><
tr
>"
if (showWeekNumber==1)
{
sHTML += "<
td
width
=
27
><
b
>" + weekString +
"</
b
></
td
><
td
width
=
1
rowspan
=
7
bgcolor
=
'#d0d0d0'
style
=
'padding:0px'
><
img
src
=
'"+imgDir+"calendar_divider.gif'
width
=
1
></
td
>"
}
for (i=0; i<
7
; i++) {
sHTML += "<td
width
=
'27'
align
=
'right'
><
B
>"+ dayName
[i]+"</
B
></
td
>"
}
sHTML +="</
tr
><
tr
>"
if (showWeekNumber==1)
{
sHTML += "<
td
align
=
right
>" + WeekNbr(startDate) +
" </
td
>"
}
for ( var i=1; i<=dayPointer;i++ )
{
sHTML += "<
td
> </
td
>"
}
for ( datePointer=1; datePointer<=numDaysInMonth;
datePointer++ )
{
dayPointer++;
sHTML += "<
td
align
=
right
>"
sStyle=styleAnchor
if ((datePointer==odateSelected) &&
(monthSelected==omonthSelected) && (yearSelected==oyearSelected))
{ sStyle+=styleLightBorder }
sHint = ""
for (k=0;k<
HolidaysCounter
;k++)
{
if ((parseInt(Holidays[k].d)==datePointer)&&
(parseInt(Holidays[k].m)==(monthSelected+1)))
{
if ((parseInt(Holidays[k].y)==0)||
((parseInt(Holidays[k].y)==yearSelected)&&(parseInt(Holidays[k].y)!=0)))
{
sStyle+="background-
color:#FFDDDD;"
sHint+=sHint==""?Holidays
[k].desc:"\n"+Holidays[k].desc
}
}
}
var regexp= /\"/g
sHint
=sHint.replace(regexp,""")
dateMessage
=
"onmousemove='window.status=\"
"+selectDateMessage.replace
("[date]",constructDate(datePointer,monthSelected,yearSelected))+"\"'
onmouseout
=
'window.status=\"\"'
"
if ((datePointer==dateNow)&&(monthSelected==monthNow)
&&(yearSelected==yearNow))
{ sHTML += "<b><
a
"+dateMessage+" title=\"" + sHint +
"\"
style
=
'"+sStyle+"'
href
=
'javascript:dateSelected="+datePointer+";closeCalendar();'
><
font
color=#ff0000> " + datePointer + "</
font
> </
a
></
b
>"}
else if (dayPointer % 7 == (startAt * -1)+1)
{ sHTML += "<
a
"+dateMessage+" title=\"" + sHint + "\"
style
=
'"+sStyle+"'
href='javascript:dateSelected="+datePointer +
";closeCalendar();'> <
font
color=#909090>" + datePointer +
"</
font
> </
a
>" }
else
{ sHTML += "<
a
"+dateMessage+" title=\"" + sHint + "\"
style
=
'"+sStyle+"'
href='javascript:dateSelected="+datePointer +
";closeCalendar();'> " + datePointer + " </
a
>" }
sHTML += ""
if ((dayPointer+startAt) % 7 == startAt) {
sHTML += "</
tr
><
tr
>"
if ((showWeekNumber==1)&&
(datePointer<
numDaysInMonth
))
{
sHTML += "<td
align
=
right
>" +
(WeekNbr(new Date(yearSelected,monthSelected,datePointer+1))) + " </
td
>"
}
}
}
document.getElementById("content").innerHTML = sHTML
document.getElementById("spanMonth").innerHTML = " " +
monthName[monthSelected] + " <
IMG
id
=
'changeMonth'
SRC
=
'"+imgDir+"calendar_drop1.gif'
WIDTH
=
'12'
HEIGHT
=
'10'
BORDER
=
0
>"
document.getElementById("spanYear").innerHTML = " " +
yearSelected + " <
IMG
id
=
'changeYear'
SRC
=
'"+imgDir+"calendar_drop1.gif'
WIDTH
=
'12'
HEIGHT
=
'10'
BORDER
=
0
>"
// added by J.K 2003-June-16
//document.getElementById("clearCalendar").innerHTML =
" CLEAR <
IMG
id
=
'clearCalendar'
SRC
=
'"+imgDir+"calendar_drop1.gif'
WIDTH
=
'12'
HEIGHT
=
'10'
BORDER
=
0
>"
document.getElementById("clearCalendar").innerHTML = ' CLEAR ';
}
function popUpCalendar(ctl, ctl2, format) {
var leftpos=0
var toppos=0
if (bPageLoaded)
{
if ( crossobj.visibility == "hidden" ) {
ctlToPlaceValue = ctl2
dateFormat=format;
formatChar = " "
aFormat = dateFormat.split(formatChar)
if (aFormat.length<
3
)
{
formatChar
=
"/"
aFormat
=
dateFormat
.split(formatChar)
if (aFormat.length<3)
{
formatChar
=
"."
aFormat
=
dateFormat
.split
(formatChar)
if (aFormat.length<3)
{
formatChar
=
"-"
aFormat
=
dateFormat
.split(formatChar)
if (aFormat.length<3)
{
// invalid
date format
formatChar
=
""
}
}
}
}
tokensChanged
=
0
if ( formatChar != "" )
{
// use user's date
aData
=
ctl2
.value.split(formatChar)
for (
i
=
0
;i<3;i++)
{
if ((aFormat[i]=="d")
|| (aFormat[i]=="dd"))
{
dateSelected
=
parseInt
(aData[i], 10)
tokensChanged
++
}
else if ((aFormat[i]
=="m") || (aFormat[i]=="mm"))
{
monthSelected
=
parseInt
(aData[i], 10) - 1
tokensChanged
++
}
else if (aFormat[i]
=="yyyy")
{
yearSelected
=
parseInt
(aData[i], 10)
tokensChanged
++
}
else if (aFormat[i]
=="mmm")
{
for (
j
=
0
;
j<12; j++)
{
if
(aData[i]==monthName[j])
{
monthSelected
=
j
tokensChanged ++
}
}
}
}
}
if ((tokensChanged!=3)||isNaN(dateSelected)
||isNaN(monthSelected)||isNaN(yearSelected))
{
dateSelected
=
dateNow
monthSelected
=
monthNow
yearSelected
=
yearNow
}
odateSelected
=dateSelected
omonthSelected
=monthSelected
oyearSelected
=yearSelected
//Setting left and top of the calendar in a
popUp window. Added by D.T.
constructCalendar (1, monthSelected,
yearSelected);
crossobj.visibility=(dom||ie)? "visible" :
"show"
}
else
{
hideCalendar()
if (ctlNow!=ctl) {popUpCalendar(ctl, ctl2,
format)}
}
ctlNow
= ctl
}
}
function callOnUnload(){
var
toCall
=
null
var
dateField
=
""
;
if (formName){
dateField
=
window
.opener.document.FormName.elements['issueDate']
}else{
dateField
=
window
.opener.document.issueDate
}
setAllDates();
if(toCall == 1)
{
dateField.focus()
}
}
function setAllDates(){
var
setAllFields
=
'null'
;
if (setAllFields == 'Y') {
var
elements
=
window
.opener.document.forms
['FormName'].elements;
for (
i
=
0
; i<elements.length; i++){
if( window.opener.document.forms['FormName'].elements
[i].name.indexOf( "paidDate")==0)
window.opener.document.forms
['FormName'].elements[i]
.value
=
window
.opener.document.forms
['FormName'].elements['allDates'].value;
}
}
}
window.onload
=
init
</script>
</
HEAD
>
<
BODY
onUnload
=
"callOnUnload()"
>
<
FORM
NAME
=
"Calendar"
METHOD
=
"POST"
ACTION
=
"/papa11/main/close.jsp"
>
<
input
name
=
"Submit_Button"
type
=
"hidden"
value
=
"SelectCalendar"
>
<
input
name
=
"issueDate"
type
=
"hidden"
>
</
FORM
>
</
BODY
>
</
HTML
>
Please find the html of the calendar as requested.
Thank You.
0
Vaishali
Top achievements
Rank 1
answered on 29 Nov 2013, 07:38 PM
Any update about this issue? Please help.
0
Hi Vaishali,
Thank you for contacting Telerik Support, please excuse our delay in getting back to you.
Options for dealing with this scenario:
1) Even though the text field is read only, it may be suitable to use the SetText() method, which is essentially an 'Enter text' step with SimulateRealTyping disabled. To work around the fact that you cannot record such a step with the control disabled, please add the textbox element to your project explicitly via the 'Add to Project Elements' option from the Elements Menu. Once added just find it in the Elements Explorer, use the Steps Suggestions to add an Enter text step to your test and change the Text step property to the desired date (eg. 2013-12-27) you with to enter. This will be the easiest method but may not work depending on your application, if it doesn't try the next option.
2) Change how each element involved in clicking on the correct dates is found (link for example) in such a way as to not include dynamic id's, instead use text content or other unique properties to each element.
If neither option helps, please attach a step failure log for us to examine by double clicking the red X next to a failing step (like the one in your original post) and choose the option to Export. Then attach the created ZIP to this post.
Regards,
Mario
Telerik
Thank you for contacting Telerik Support, please excuse our delay in getting back to you.
Options for dealing with this scenario:
1) Even though the text field is read only, it may be suitable to use the SetText() method, which is essentially an 'Enter text' step with SimulateRealTyping disabled. To work around the fact that you cannot record such a step with the control disabled, please add the textbox element to your project explicitly via the 'Add to Project Elements' option from the Elements Menu. Once added just find it in the Elements Explorer, use the Steps Suggestions to add an Enter text step to your test and change the Text step property to the desired date (eg. 2013-12-27) you with to enter. This will be the easiest method but may not work depending on your application, if it doesn't try the next option.
2) Change how each element involved in clicking on the correct dates is found (link for example) in such a way as to not include dynamic id's, instead use text content or other unique properties to each element.
If neither option helps, please attach a step failure log for us to examine by double clicking the red X next to a failing step (like the one in your original post) and choose the option to Export. Then attach the created ZIP to this post.
Regards,
Mario
Telerik
0
Vaishali
Top achievements
Rank 1
answered on 02 Dec 2013, 09:07 PM
Hello Telerik Team,
The first option worked. Thanks very much. :)
Regards,
Vaishali
The first option worked. Thanks very much. :)
Regards,
Vaishali