+ Start a Discussion
sgoremasgorema 

Setting a date field through javascript

I am not sure what just happened there but here is my question..probably a very easy question but I am new to javascript. I have an scontrol written in javascript and I am getting the value from a date field this way:
 
var OpptyCloseDate = {!Opportunity_Renewal_Close_Date};
 
I am then trying to put this variable into a the Close Date of a newly created oppty...using this:
 
 newoppty.set("CloseDate", OpptyCloseDate);
 
What am I missing? I am getting an error. SUrely I need to do something with the dates I just have no idea what!
 
thanks!

Message Edited by sgorema on 08-30-2006 12:19 PM

The_FoxThe_Fox
Hello Sgorema,

You just have to use the function Sforce.Util.ToIsoDate to format at salesforce style javascript date.

REgards

steph1sourcesteph1source

I tried the following:

var OpptyCloseDate = Sforce.Util.ToIsoDate({!Opportunity_Renewal_Close_Date});

 

But got an error - Object doesn't support this property or method.

Is the ToIsoDate function available to me through the ajax toolkit? Or do I need to include this function in my code?

 

I am new to all of this so excuse my questions!

ApprivoApprivo

You need to cast the variable you pass as a date (or datetime  as needed)

e.g.

var OpptyCloseDate = Sforce.Util.ToIsoDate(new Date("{!Opportunity_Renewal_Close_Date}"));

or it the renewal close date is a datetime;

var OpptyCloseDate = Sforce.Util.ToIsoDateTime(new Date("{!Opportunity_Renewal_Close_Date}"));

steph1sourcesteph1source

hmm..I added that. I have the following:

var OpptyCloseDate = Sforce.Util.ToIsoDate(new Date("{!Opportunity_Renewal_Close_Date}"));

And am still getting the 'Object doesn't support this property or method' error.

new Date is working fine and I am returned 'Thu Aug 30 00:00:00 EDT 2007'.

It is erroring out on the ToIsoDate function.

 

Any ideas?

 

 

zachzach
I just use/set a javascript date...

dateObj = new Date();
dateObj.setDate(day);
dateObj.setMonth(month);
dateObj.setFullYear(year);
dateObj.setHours(hh,mm,ss);

Then just update the field with dateObj.  I didn't know about the other function.

-Zach
steph1sourcesteph1source

The following worked fine:

var OpptyCloseDate = new Date("{!Opportunity_Renewal_Close_Date}");

Without the ToIsoDate function.I was able to place OpptyCloseDate into the Close Date of the new function.

I am confused though...when do you need to use ToIsoDate?

 

The_FoxThe_Fox
Hello,

It was not the Merge field to put in IsoDate but you Javascript Date!!!! ie your javascript variable but of course you have to validate it as a date first

Regards