I would set your argument type as a list and then validate,loop and process the list in your CFC method. If so youll need to change your each() loop to append the variables in to the list and then post the string in your $.post() request.
HTH, Jon On Jan 15, 2014, at 3:56 PM, Rick Faircloth <r...@whitestonemedia.com> wrote: > > Hi, all... > > I've approached this problem from every direction I can think of and with > reference to many, many websites, but I still can put together an answer. > > I have this HTML in a form: > > <cfoutput query = "qGetSpecials"> > > <div class="special_title_container"> > <span class="title_checkbox_span"> > <input id="special_id_#special_id#" class="special_title_checkbox" > value="#special_title#" type="checkbox" name="special_title"> > </span> > <span class="special_title_span">#special_title#</span> > </div> > > </cfoutput> > > Which is output into this: > > <input id="special_id_26" class="special_title_checkbox" value="First > Special" type="checkbox" name="special_title"> > <input id="special_id_27" class="special_title_checkbox" value="Second > Special" type="checkbox" name="special_title"> > <input id="special_id_28" class="special_title_checkbox" value="Third > Special" type="checkbox" name="special_title"> > > This jQuery processing the inputs: > > $(document).ready(function() { > > $('#newsletter_preview_button').click(function() { > > var specialTitleID = $('.special_title_checkbox:checked'); > > $('.special_title_checkbox:checked').each(function(index,value) { > > var specialTitleID = $(this).attr('id').split('_').pop(); > var specialTitleID = 'specialTitle_'+specialTitleID; > > alert(specialTitleID); <--- [ this alerts the three input values, 26, 27, > 28, individually when form is submitted ] > > }); > > values = { emailNewsletterGreeting: emailNewsletterGreeting, > specialTitleID: specialTitleID } > > (Followed by AJAX code...) > > And this cfc method: > > <cffunction name = "mProcessEmailNewsletterForm" > displayName = "mProcessEmailNewsletterForm" > hint = "Processes Email Newsletter Form" > output = "true" > access = "remote" > returnType = "struct" > > > <cfargument name = "emailNewsletterGreeting" type = "string" > required = "no" /> > <cfargument name = "specialTitleID" type = > "string" required > = "no" /> > > <cfset emailNewsletterStruct = structNew() /> > > <cfset emailNewsletterStruct.email_newsletter_greeting = > '#arguments.email_newsletter_greeting#' > /> > <cfset emailNewsletterStruct.specialTitleID = > '#arguments.specialTitleID#' > /> > > <cfreturn emailNewsletterStruct /> > > </cffunction> > > But, the cffunction above doesn't know what to do with the value, > "specialTitleID", when it's received. > Or, rather, I don't know how to change it in the jQuery code or the > cffunction code so that each > specialTitleID can be separted into individual cfarguments. > > I've tried specifying cfargument name="specialTitleID" as type="array", > type="list", type="string", > but I get a JS error in Firebug no matter what I try. I'm sure it's simple, > I just haven't handled > a multi-valued variable going via AJAX to a cfc method before. (or that I > remember...). > > Suggestions, anyone? > > Thanks, > > Rick > > -- > -------------------------------------------------------------------------------------------------------------------------------------------------- > "Ninety percent of the politicians give the other ten percent a bad > reputation." Henry Kissinger > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:357434 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm