Link to home
Start Free TrialLog in
Avatar of lantervj
lantervjFlag for United States of America

asked on

cfinvoke inside cfscript

I need to invoke a cffunction from inside a cfscript.  

<cfscript>
// to unlock record when browse away
      function UnlockRecord()
            {
//                  <cfinvoke component="control.cfc.basic" method="ReleaseLock" section="Individuals" recordID= "#val(form.indivNum)#" returnvariable="Release" />;
            Return;
            }
</cfscript>

I'm getting an error about the cfscript tag needing an ending tag.
Avatar of erikTsomik
erikTsomik
Flag of United States of America image

can you simly do this. Or something similar to this

<cfscript>
 obj =  CreateObject("component","pathToThe CFC") ;
obj. ReleaseLock(#val(form.indivNum)#);

</cfscript>
Avatar of _agx_
> I need to invoke a cffunction from inside a cfscript.

You can't.  Using regular CF tags inside cfscript is not allowed.  Either use CreateObject() as Erik suggested, or create a CFFunction that does the cfinvoke call. Then call that function from within your <cfscript>.
Actually now that I look at the code more closely  ... why do you need a function for this?  You're already using a CFC _with_ a function?
Avatar of lantervj

ASKER

When I exit a page, I have some "browse away" code and if the user clicks on the back button the code to unlock the record they were just in gets bypassed.  I need to execute that unlock function but I'm in browse away javascript when it happens.
Well you can't execute CF code from javascript anyway.  CF runs on the server, and javascript on the client (browser).  So you'd have to use ajax to do another request to the server to run that code anyway.
good point. Maybe the best thing would be to disable the back button.  But I think I would get the same problem if they just closed the tab/page.
ASKER CERTIFIED SOLUTION
Avatar of _agx_
_agx_
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial