Unusual javascript question on setting a field via code executed from object

C

Colin Colin

I downloaded a calendar.asp file that someone named Jacob "WickedPisser"
Gilley made. It's a few years old but It works fine and it's what I was
looking for without getting into ActiveX objects. But I am having
trouble with something that I beleive it's because of my lack of
JavaScript knowledge.

In the initilizing code, he has:
' Add event code for when a day is clicked on. Notice
' that when run inside your browser, "$date" is replaced
' by the date you click on.
MyCalendar.OnDayClick = "javascript:alert('You clicked on this date:
$date')"

So when I run the page, when I click on a day I get an alert box saying
'You clicked on this date: 3/26/2004', but with the date being the day
that I clicked on. So I wanted to change the javascript to set the
field for the day I clicked on, so I tried several things:

MyCalendar.OnDayClick =
"javascript:document.frmAddVisitCal.AP_DATE.value = $date"
MyCalendar.OnDayClick =
"javascript:document.frmAddVisitCal[AP_DATE].value = $date"
MyCalendar.OnDayClick =
"javascript:window.document.frmAddVisitCal.AP_DATE.value = $date"
MyCalendar.OnDayClick =
"javascript:window.document.frmAddVisitCal[AP_DATE].value = $date"
MyCalendar.OnDayClick =
"javascript:window.opener.document.frmAddVisitCal.AP_DATE.value = $date"
MyCalendar.OnDayClick =
"javascript:window.opener.document.frmAddVisitCal[AP_DATE].value =
$date"

But none of them worked, I get 'Is Null or NOt an object'

So why can't I reference my field object? the form is correct and the
field name is correct.
 
B

Brian Genisio

Colin said:
I downloaded a calendar.asp file that someone named Jacob "WickedPisser"
Gilley made. It's a few years old but It works fine and it's what I was
looking for without getting into ActiveX objects. But I am having
trouble with something that I beleive it's because of my lack of
JavaScript knowledge.

In the initilizing code, he has:
' Add event code for when a day is clicked on. Notice
' that when run inside your browser, "$date" is replaced
' by the date you click on.
MyCalendar.OnDayClick = "javascript:alert('You clicked on this date:
$date')"

So when I run the page, when I click on a day I get an alert box saying
'You clicked on this date: 3/26/2004', but with the date being the day
that I clicked on. So I wanted to change the javascript to set the
field for the day I clicked on, so I tried several things:

MyCalendar.OnDayClick =
"javascript:document.frmAddVisitCal.AP_DATE.value = $date"
MyCalendar.OnDayClick =
"javascript:document.frmAddVisitCal[AP_DATE].value = $date"
MyCalendar.OnDayClick =
"javascript:window.document.frmAddVisitCal.AP_DATE.value = $date"
MyCalendar.OnDayClick =
"javascript:window.document.frmAddVisitCal[AP_DATE].value = $date"
MyCalendar.OnDayClick =
"javascript:window.opener.document.frmAddVisitCal.AP_DATE.value = $date"
MyCalendar.OnDayClick =
"javascript:window.opener.document.frmAddVisitCal[AP_DATE].value =
$date"

But none of them worked, I get 'Is Null or NOt an object'

So why can't I reference my field object? the form is correct and the
field name is correct.

You need to put quotes around IDs. I am assuming you have a form with
the ID frmAddVisitCal, and an input called "AP_DATE".

To get the AP_DATE input element, you would write:

document.getElementById("AP_DATE");

But, you are putting that Javascript in ASP code (Not supported on this
group). You will need to write a string like this:

"document.getElementById(\"AP_DATE\");"

Of course, that assumes that you escape quotes with a backslash. If I
remember correctly, VBScript with ASP uses a different syntax, but I
havent done that in years.

Next problem... using the javascript: method. See the FAQ:
http://www.jibbering.com/faq/#FAQ4_24

You should probably use a different method... but without seeing the
code you are actually working with, I cannot suggest any more.

Brian
 

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

Forum statistics

Threads
473,764
Messages
2,569,567
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top