get today's date and compare to txt Field

P

peashoe

I have an asp page that uses a calendar.js (pop-up) file to add an
exact date format in the text field (txtDDate). My problem is I need
some javascript that sets an alert that does not allow them to select
today.


example:
var dtToday = Date()
if(document.frmSoftware.txtDDate.value == dtToday)
{
alert("You cannot select same day distributions. Please enter a new
value in the \"Delivery Date\" field.");
return false
}


But dtToday seems to be blank....How can I get dtToday value? Also,
when I set the dtToday value outside javascript and used a
Response.Write to see what format Date() came up with - it gave me
1/24/2005 - but the calendar pop-up gives me 01/24/2005....could this
also be the issue?
Thanks in advance!
Lisa
 
B

Bob Barrows [MVP]

I have an asp page that uses a calendar.js (pop-up) file to add an
exact date format in the text field (txtDDate). My problem is I need
some javascript that sets an alert that does not allow them to select
today.
You'll probably get better/quicker help by posting in a client-side
scripting newsgroup such as .scripting.jscript. ASP is server-side code.

Bob Barrows
 
P

peashoe

yeah - I posted there first, but didn't get a response - was hoping
that someone on this end would have an idea :(

Thanks
~L~
 
B

Bob Barrows [MVP]

yeah - I posted there first, but didn't get a response - was hoping
that someone on this end would have an idea :(

When? I don't see it there. Are talking about the same place?
microsoft.public.scripting.jscript?

If you don't get a response in a reasonable amount of time (~10 hrs on a
weekend, maybe 5 hrs during the week), it can't hurt to reply to your post
and ask if you've failed to provide information needed to answer your
question, or if anyone can suggest an alternative newsgroup to use if the
current one is not appropriate.

Never simply repost your original question without supplying additional
information that was not supplied in the original post.

Bob Barrows
 
M

Mark Schupp

As Bob suggests, a client-side scripting site would be better. But, If it
were me, I would modify the calendar script to not allow today to be
selected.
 
P

peashoe

Mark,
That does sounds like a better plan - but I'm not familiar with
jscripting... I'm a newbie :) This is the script.... where would I
enter that alert, and how?

function calendar2(obj_target) {

// assigning methods
this.gen_date = cal_gen_date2;
this.gen_time = cal_gen_time2;
this.gen_tsmp = cal_gen_tsmp2;
this.prs_date = cal_prs_date2;
this.prs_time = cal_prs_time2;
this.prs_tsmp = cal_prs_tsmp2;
this.popup = cal_popup2;

// validate input parameters
if (!obj_target)
return cal_error("Error calling the calendar: no target control
specified");
if (obj_target.value == null)
return cal_error("Error calling the calendar: parameter specified is
not valid target control");
this.target = obj_target;
this.time_comp = BUL_TIMECOMPONENT;
this.year_scroll = BUL_YEARSCROLL;

// register in global collections
this.id = calendars.length;
calendars[this.id] = this;
}

function cal_popup2 (str_datetime) {
this.dt_current = this.prs_tsmp(str_datetime ? str_datetime :
this.target.value);
if (!this.dt_current) return;

var obj_calwindow = window.open(
'calendar.html?datetime=' + this.dt_current.valueOf()+ '&id=' +
this.id,
'Calendar', 'width=200,height='+(this.time_comp ? 215 : 190)+
',status=no,resizable=no,top=200,left=200,dependent=yes,alwaysRaised=yes'
);
obj_calwindow.opener = window;
obj_calwindow.focus();
}

// timestamp generating function
function cal_gen_tsmp2 (dt_datetime) {
return(this.gen_date(dt_datetime) + ' ' + this.gen_time(dt_datetime));
}

// date generating function
function cal_gen_date2 (dt_datetime) {
return (
(dt_datetime.getMonth() < 9 ? '0' : '') + (dt_datetime.getMonth() +
1) + "/"
+ (dt_datetime.getDate() < 10 ? '0' : '') + dt_datetime.getDate() +
"/"
+ dt_datetime.getFullYear()
);
}
// time generating function
function cal_gen_time2 (dt_datetime) {
return (
(dt_datetime.getHours() < 10 ? '0' : '') + dt_datetime.getHours() +
":"
+ (dt_datetime.getMinutes() < 10 ? '0' : '') +
(dt_datetime.getMinutes()) + ":"
+ (dt_datetime.getSeconds() < 10 ? '0' : '') +
(dt_datetime.getSeconds())
);
}

// timestamp parsing function
function cal_prs_tsmp2 (str_datetime) {
// if no parameter specified return current timestamp
if (!str_datetime)
return (new Date());

// if positive integer treat as milliseconds from epoch
if (RE_NUM.exec(str_datetime))
return new Date(str_datetime);

// else treat as date in string format
var arr_datetime = str_datetime.split(' ');
return this.prs_time(arr_datetime[1], this.prs_date(arr_datetime[0]));
}

// date parsing function
function cal_prs_date2 (str_date) {

var arr_date = str_date.split('/');

if (!this.dt_current) return alert ("Invalid date selected: You cannot
select same day distributions.");
if (arr_date.length != 3) return alert ("Invalid date format: '" +
str_date + "'.\nFormat accepted is dd-mm-yyyy.");
if (!arr_date[1]) return alert ("Invalid date format: '" + str_date +
"'.\nNo day of month value can be found.");
if (!RE_NUM.exec(arr_date[1])) return alert ("Invalid day of month
value: '" + arr_date[1] + "'.\nAllowed values are unsigned integers.");
if (!arr_date[0]) return alert ("Invalid date format: '" + str_date +
"'.\nNo month value can be found.");
if (!RE_NUM.exec(arr_date[0])) return alert ("Invalid month value: '"
+ arr_date[0] + "'.\nAllowed values are unsigned integers.");
if (!arr_date[2]) return alert ("Invalid date format: '" + str_date +
"'.\nNo year value can be found.");
if (!RE_NUM.exec(arr_date[2])) return alert ("Invalid year value: '" +
arr_date[2] + "'.\nAllowed values are unsigned integers.");

var dt_date = new Date();
dt_date.setDate(1);

if (arr_date[0] < 1 || arr_date[0] > 12) return alert ("Invalid month
value: '" + arr_date[0] + "'.\nAllowed range is 01-12.");
dt_date.setMonth(arr_date[0]-1);

if (arr_date[2] < 100) arr_date[2] = Number(arr_date[2]) +
(arr_date[2] < NUM_CENTYEAR ? 2000 : 1900);
dt_date.setFullYear(arr_date[2]);

var dt_numdays = new Date(arr_date[2], arr_date[0], 0);
dt_date.setDate(arr_date[1]);
if (dt_date.getMonth() != (arr_date[0]-1)) return alert ("Invalid day
of month value: '" + arr_date[1] + "'.\nAllowed range is
01-"+dt_numdays.getDate()+".");

return (dt_date)
}

// time parsing function
function cal_prs_time2 (str_time, dt_date) {

if (!dt_date) return null;
var arr_time = String(str_time ? str_time : '').split(':');

if (!arr_time[0]) dt_date.setHours(0);
else if (RE_NUM.exec(arr_time[0]))
if (arr_time[0] < 24) dt_date.setHours(arr_time[0]);
else return cal_error ("Invalid hours value: '" + arr_time[0] +
"'.\nAllowed range is 00-23.");
else return cal_error ("Invalid hours value: '" + arr_time[0] +
"'.\nAllowed values are unsigned integers.");

if (!arr_time[1]) dt_date.setMinutes(0);
else if (RE_NUM.exec(arr_time[1]))
if (arr_time[1] < 60) dt_date.setMinutes(arr_time[1]);
else return cal_error ("Invalid minutes value: '" + arr_time[1] +
"'.\nAllowed range is 00-59.");
else return cal_error ("Invalid minutes value: '" + arr_time[1] +
"'.\nAllowed values are unsigned integers.");

if (!arr_time[2]) dt_date.setSeconds(0);
else if (RE_NUM.exec(arr_time[2]))
if (arr_time[2] < 60) dt_date.setSeconds(arr_time[2]);
else return cal_error ("Invalid seconds value: '" + arr_time[2] +
"'.\nAllowed range is 00-59.");
else return cal_error ("Invalid seconds value: '" + arr_time[2] +
"'.\nAllowed values are unsigned integers.");

dt_date.setMilliseconds(0);
return dt_date;
}

function cal_error (str_message) {
alert (str_message);
return null;
}
 
P

peashoe

Bob,
Sorry - I posted it in microsoft.comp.lang.javascript - but at this
point, I don't want to post it yet again in fear of making people angry
for posting in several different areas :(

~L~
 
M

Mark Schupp

It looks like the code is already in place:
if (!this.dt_current) return alert ("Invalid date selected: You cannot
select same day distributions.");

Why it is not working I cannot determine without going through the operation
of the script. Unfortunately I cannot devote that much time. Maybe someone
else can spot the problem more quickly.

--
Mark Schupp
Head of Development
Integrity eLearning
www.ielearning.com


Mark,
That does sounds like a better plan - but I'm not familiar with
jscripting... I'm a newbie :) This is the script.... where would I
enter that alert, and how?

function calendar2(obj_target) {

// assigning methods
this.gen_date = cal_gen_date2;
this.gen_time = cal_gen_time2;
this.gen_tsmp = cal_gen_tsmp2;
this.prs_date = cal_prs_date2;
this.prs_time = cal_prs_time2;
this.prs_tsmp = cal_prs_tsmp2;
this.popup = cal_popup2;

// validate input parameters
if (!obj_target)
return cal_error("Error calling the calendar: no target control
specified");
if (obj_target.value == null)
return cal_error("Error calling the calendar: parameter specified is
not valid target control");
this.target = obj_target;
this.time_comp = BUL_TIMECOMPONENT;
this.year_scroll = BUL_YEARSCROLL;

// register in global collections
this.id = calendars.length;
calendars[this.id] = this;
}

function cal_popup2 (str_datetime) {
this.dt_current = this.prs_tsmp(str_datetime ? str_datetime :
this.target.value);
if (!this.dt_current) return;

var obj_calwindow = window.open(
'calendar.html?datetime=' + this.dt_current.valueOf()+ '&id=' +
this.id,
'Calendar', 'width=200,height='+(this.time_comp ? 215 : 190)+
',status=no,resizable=no,top=200,left=200,dependent=yes,alwaysRaised=yes'
);
obj_calwindow.opener = window;
obj_calwindow.focus();
}

// timestamp generating function
function cal_gen_tsmp2 (dt_datetime) {
return(this.gen_date(dt_datetime) + ' ' + this.gen_time(dt_datetime));
}

// date generating function
function cal_gen_date2 (dt_datetime) {
return (
(dt_datetime.getMonth() < 9 ? '0' : '') + (dt_datetime.getMonth() +
1) + "/"
+ (dt_datetime.getDate() < 10 ? '0' : '') + dt_datetime.getDate() +
"/"
+ dt_datetime.getFullYear()
);
}
// time generating function
function cal_gen_time2 (dt_datetime) {
return (
(dt_datetime.getHours() < 10 ? '0' : '') + dt_datetime.getHours() +
":"
+ (dt_datetime.getMinutes() < 10 ? '0' : '') +
(dt_datetime.getMinutes()) + ":"
+ (dt_datetime.getSeconds() < 10 ? '0' : '') +
(dt_datetime.getSeconds())
);
}

// timestamp parsing function
function cal_prs_tsmp2 (str_datetime) {
// if no parameter specified return current timestamp
if (!str_datetime)
return (new Date());

// if positive integer treat as milliseconds from epoch
if (RE_NUM.exec(str_datetime))
return new Date(str_datetime);

// else treat as date in string format
var arr_datetime = str_datetime.split(' ');
return this.prs_time(arr_datetime[1], this.prs_date(arr_datetime[0]));
}

// date parsing function
function cal_prs_date2 (str_date) {

var arr_date = str_date.split('/');

if (!this.dt_current) return alert ("Invalid date selected: You cannot
select same day distributions.");
if (arr_date.length != 3) return alert ("Invalid date format: '" +
str_date + "'.\nFormat accepted is dd-mm-yyyy.");
if (!arr_date[1]) return alert ("Invalid date format: '" + str_date +
"'.\nNo day of month value can be found.");
if (!RE_NUM.exec(arr_date[1])) return alert ("Invalid day of month
value: '" + arr_date[1] + "'.\nAllowed values are unsigned integers.");
if (!arr_date[0]) return alert ("Invalid date format: '" + str_date +
"'.\nNo month value can be found.");
if (!RE_NUM.exec(arr_date[0])) return alert ("Invalid month value: '"
+ arr_date[0] + "'.\nAllowed values are unsigned integers.");
if (!arr_date[2]) return alert ("Invalid date format: '" + str_date +
"'.\nNo year value can be found.");
if (!RE_NUM.exec(arr_date[2])) return alert ("Invalid year value: '" +
arr_date[2] + "'.\nAllowed values are unsigned integers.");

var dt_date = new Date();
dt_date.setDate(1);

if (arr_date[0] < 1 || arr_date[0] > 12) return alert ("Invalid month
value: '" + arr_date[0] + "'.\nAllowed range is 01-12.");
dt_date.setMonth(arr_date[0]-1);

if (arr_date[2] < 100) arr_date[2] = Number(arr_date[2]) +
(arr_date[2] < NUM_CENTYEAR ? 2000 : 1900);
dt_date.setFullYear(arr_date[2]);

var dt_numdays = new Date(arr_date[2], arr_date[0], 0);
dt_date.setDate(arr_date[1]);
if (dt_date.getMonth() != (arr_date[0]-1)) return alert ("Invalid day
of month value: '" + arr_date[1] + "'.\nAllowed range is
01-"+dt_numdays.getDate()+".");

return (dt_date)
}

// time parsing function
function cal_prs_time2 (str_time, dt_date) {

if (!dt_date) return null;
var arr_time = String(str_time ? str_time : '').split(':');

if (!arr_time[0]) dt_date.setHours(0);
else if (RE_NUM.exec(arr_time[0]))
if (arr_time[0] < 24) dt_date.setHours(arr_time[0]);
else return cal_error ("Invalid hours value: '" + arr_time[0] +
"'.\nAllowed range is 00-23.");
else return cal_error ("Invalid hours value: '" + arr_time[0] +
"'.\nAllowed values are unsigned integers.");

if (!arr_time[1]) dt_date.setMinutes(0);
else if (RE_NUM.exec(arr_time[1]))
if (arr_time[1] < 60) dt_date.setMinutes(arr_time[1]);
else return cal_error ("Invalid minutes value: '" + arr_time[1] +
"'.\nAllowed range is 00-59.");
else return cal_error ("Invalid minutes value: '" + arr_time[1] +
"'.\nAllowed values are unsigned integers.");

if (!arr_time[2]) dt_date.setSeconds(0);
else if (RE_NUM.exec(arr_time[2]))
if (arr_time[2] < 60) dt_date.setSeconds(arr_time[2]);
else return cal_error ("Invalid seconds value: '" + arr_time[2] +
"'.\nAllowed range is 00-59.");
else return cal_error ("Invalid seconds value: '" + arr_time[2] +
"'.\nAllowed values are unsigned integers.");

dt_date.setMilliseconds(0);
return dt_date;
}

function cal_error (str_message) {
alert (str_message);
return null;
}
 
P

peashoe

Mark,
Yeah - I added that piece myself thinking that's what I needed to
do.... but it's not working so I figured I had it in the wrong place.
Thanks for looking anyway...

~L~
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,901
Latest member
Noble71S45

Latest Threads

Top