Skip navigation
Currently Being Moderated

bind

Jul 13, 2012 2:45 PM

I have two text boxes

1.  First text box is defaulted to the curent date + 5 business days. 

2.  When i pick the date from the second text box, I want the date in the fisrt text box = date in second text box + 5 business days.

 

The code i have below is currently working fine but the fist fidn't added 5 business days because i don't know how to add into it from txt2.

How can I accomplish it?

 

<!---cfm--->

<cfparam name="currentdate" default="#businessDaysAdd(now(),5))#">

<cfform name="fform">

   txt1: <cfinput type="datefield" value="#dateformat(current, "mm/dd/yyyy")#" name="txt1" bind="cfc:app.home.cfc.bu.getfinaldate({txt2@change})">

   txt2: <cfinput type="datefield" name="txt2" value="">

</cfform>

 

<!---cfc--->

</cfcomponent>

<cffunction name="getfinaldate" access="remote">

        <cfargument name="txt2">

         <cfreturn "#arguments.txt2#">

    </cffunction>

</cfcomponent>

 

Thanks

 
Replies
  • Currently Being Moderated
    Jul 14, 2012 4:26 AM   in reply to kt03

    In your cfc, use parsedate to convert the text to a date, then use dateadd to add the five days and dateformat to convert it back to a string. 

     
    |
    Mark as:
  • Currently Being Moderated
    Jul 15, 2012 2:45 AM   in reply to kt03

    Note you have a typo: 2 closing component tags. In any case, the following should work

     

    <cfform name="fform">

    <!--- Set bindOnload to yes, making the bind to take effect the moment the page is loaded. --->

    <cfinput type="datefield"  name="txt1" bind="cfc:app.home.cfc.bu.getFinalDate({txt2})" bindOnload="yes">

    <cfinput type="datefield" name="txt2">

    </cfform>

     

     

    bu.cfc

     

    <cfcomponent>

    <cffunction name="getFinalDate" access="remote" returntype="string">

            <cfargument name="dateArg">

            <!--- If argument undefined or not a date, then default to date of today --->

            <cfif (not isDefined("arguments.dateArg")) or (not isDate(arguments.dateArg))>

                <cfset var dt = now()>

            <cfelse>

                <cfset var dt = parseDateTime(arguments.dateArg)>

            </cfif>

            <!--- Add 5 days--->

            <cfset var updatedDt = dateAdd("d",5,dt)>

            <!--- Format --->

            <cfset var formattedDt = dateformat(updatedDt, "mm/dd/yyyy")>

     

             <cfreturn formattedDt>

    </cffunction>

    </cfcomponent>

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points