You're mixing up the global Form scope, with your Arguments.Form struct, and 
the idea of var scoping function-local variables.

You're also missing half the point of creating functions: abstracting and 
modularising common functionality - what happens if you want to trim another 
scope or structure?

Here's a function that does what you want, but can also be used against Url 
scope, Session scope, or any structure you like.

<cffunction name="trimStruct" returntype="Struct" output="false" 
access="public">
        <cfargument name="aStruct" type="Struct"/>
        <cfset var Item = ""/>
        <cfloop item="Item" collection="#Arguments.aStruct#">
                <cfset Arguments.aStruct[Item] = Trim(Arguments.aStruct[Item])/>
        </cfloop>
        <cfreturn Arguments.aStruct/>
</cffunction>

<cfset Form = trimStruct(Form)/>
<cfset Url = trimStruct(Url)/>
<cfset A_Random_Structure = trimStruct(A_Random_Structure)/>


Hope that helps?


> I haven't built a simple udf in forever, but decided to do one for my 
> trimming of formfields. I tried sticking a <cfset var form = ""> right 
> above the loop, but I get an error:
> 
> Cannot declare local variable FORM twice.
> 
> <cfcomponent>
>       <cffunction name="cleanFormfields" access="public" 
> returntype="struct">
>               <cfargument name="form">
>                   <cfloop list="#ARGUMENTS.FORM.fieldnames#" 
> index="thisfield">
               
> <cfset FORM[thisfield] = Trim(ARGUMENTS.FORM[thisfield])>
           
> </cfloop>
>               <cfreturn form>
>       </cffunction>
> </cfcomponent>
> 
> Am I not supposed to var this one?
> 
> Thanks,
Will

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
ColdFusion MX7 and Flex 2 
Build sales & marketing dashboard RIA’s for your business. Upgrade now
http://www.adobe.com/products/coldfusion/flex2

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:271845
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4

Reply via email to