Yeah it's education - it's good for new folks to see that you can pass
complex structures back and forth seamlessly.    A simple value would be
fine in this case.

I like the loop over the inputs to create the object in your example - more
elegant than hardcoding for sure ;)


Christopher Jordan wrote:
> 
> Daemach,
> 
> I suppose it's just for the sake of education or something, but putting 
> the return value in a structure and passing it back seems like overkill 
> to me. Since there can be only one result from the calculation, just 
> pass it back as a string or numeric... no need for a structure in this 
> case imo.
> 
> Rick, is any of this helping? :o)
> 
> Chris
> 
> Daemach wrote:
>> Hi Rick - 
>>
>> This is one of those things I would use ajaxCFC for since it handles
>> serialization automatically.  The idea here is that you need to serialize
>> the values of your form fields, send them to the server, deserialize,
>> calculate and put the results into some kind of structure which gets
>> serialized again and returned to the browser for processing which starts
>> with deserializing.  Dealing with the serialization/deserialization
>> transparently is what makes ajaxCFC so great.
>>
>> First, download ajaxcfc here: 
>> http://www.robgonda.com/blog/projects/ajaxcfc/download.cfm 
>>
>> in the zip file drill down to ajaxCFC/branches/jquery/core/.  Put the
>> .cfc's
>> in some accessible folder on your web server, then copy everything inside
>> the /js folder to your javascript repository - I create a subfolder to
>> keep
>> it separate:  /js/ajaxCFC.  That's it for the install.
>>
>> This sample code should get you started.  I stuck the ajax call directly
>> into the click event on the button, but you could put all of that in a
>> separate function and then call the function from the click event handler
>> if
>> you want.
>>
>> ===========================
>>
>>
>> your html/cfm page with the calculator:
>>
>> <script type="text/javascript" src="/js/jquery.js"></script>
>> <script type="text/javascript"
>> src="/js/ajaxCFC/jquery.AjaxCFC.js"></script>
>>
>> <script type="text/javascript">
>>      // additional files
>>      $.AjaxCFC({require:'json'});
>>      // more additional files
>>      // $.AjaxCFC({require:'json,wddx,dDumper,log4j,DWRSyntax,blockUI'});
>>
>>      // optional global settings
>>      // using these setters also automatically include dependencies
>> 
>> //$.AjaxCFCHelper.setAjaxLoadImage("#snort","/images/ajax_circleball.gif");
>>      $.AjaxCFCHelper.setDebug(false);
>>      $.AjaxCFCHelper.setBlockUI(false);
>>      $.AjaxCFCHelper.setUseDefaultErrorHandler(false);
>>      $.AjaxCFCHelper.setSerialization('json'); // json, wddx
>>
>> $(document).ready( function() {
>>
>>      // Add click event to button
>>      
>>      $('#ajaxit').click(function() {
>>              //create an object to pass to the cfc.  can also be an array, 
>> simple
>> value, whatever you want.  Objects turn into cf structures.
>>              var obj = {firstVal:$('#firstVal').val(),
>> secondVal:$('#secondVal').val(),
>> thirdVal:$('#thirdVal').val(), randomstring:"why not"}
>>              //do ajax call
>>              
>>              $.AjaxCFC({
>>                      url: "/pathto/your.cfc", 
>>                      method: "calculate", 
>>                      data: obj, 
>>                      // can be an anonymous function, or the name of the 
>> function that will
>> handle the return results.
>>                      success: showResults
>>                      });
>>      });
>>
>> });
>>
>> function showResults(data){
>>      // data will be whatever the cfc passed back in js format - structure in
>> this case to make it easy.
>>      $('#result').val(data.results); 
>>
>> }
>>
>> </script>
>>
>> firstVal: <input id="firstVal" name="firstVal" type="text"><br>
>> secondVal: <input id="secondVal" name="secondVal" type="text"><br>
>> thirdVal: <input id="thirdVal" name="thirdVal" type="text"> 
>> <input id="ajaxit" type="submit"  name="ajaxit" value="AjaxIt">
>> <hr>
>>
>> result: <input id="result" name="result" type="text">
>>
>>
>> ================
>>
>> Your cfc file should go in the same folder as ajax.cfc:
>>
>>
>> <cfcomponent extends="ajax">
>>      <!---
>> <cfscript>   
>>      setDebugMode('request');
>>      </cfscript>--->
>>
>>      <cffunction name="calculate" output="no" access="private">
>>              
>>              <cfscript>
>>              obj = arguments;
>>              data = structNew();
>>              temp = obj.firstVal + obj.secondVal + obj.thirdVal;
>>              StructInsert(data, "results", temp);
>>              </cfscript>
>>              
>>              <cfreturn data>
>>      </cffunction>           
>> </cfcomponent>
>>
>>
>>
>> Rick Faircloth wrote:
>>   
>>> Hi, all.
>>>
>>> I've just started using jQuery recently and now
>>> I'm trying to understand how to use it with AJAX
>>> and I just don't know enough about how it works
>>> to get started on a fairly simple app.  The sample app I've
>>> been tinkering with sends a URL variable for a User_ID
>>> using AJAX to a CF page, which runs a query and
>>> returns the info to the calling page and appends
>>> it to the body.  I'd like to send results back to the
>>> form fields, as well as the calculated result.
>>>
>>> I just don't have a clue how to set this up.
>>>
>>> I have a mortgage calculator and I want the user
>>> to be able to enter the principal, interest rate,
>>> and duration in years, then run a calculation on it
>>> and return the result.
>>>
>>> I've set this up in a regular form that submits back
>>> to the page it's on and it works fine.  It's coded in CF.
>>>
>>> I'd like to be able to calculate and return the results using AJAX.
>>>
>>> I've worked some very simple code using AJAX (actually
>>> it was given to me), but I have no idea how to code for
>>> the above scenario.
>>>
>>> Would anyone care to give this CF'er some guidance
>>> on creating this small jQuery/CF/AJAX app?
>>>
>>> Thanks for any help!
>>>
>>> Rick
>>>
>>> _______________________________________________
>>> jQuery mailing list
>>> [email protected]
>>> http://jquery.com/discuss/
>>>
>>>
>>>     
>>
>>   
> 
> -- 
> http://www.cjordan.us
> 
> 
> _______________________________________________
> jQuery mailing list
> [email protected]
> http://jquery.com/discuss/
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Need-some-guidance...-tf3323366.html#a9241214
Sent from the JQuery mailing list archive at Nabble.com.


_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/

Reply via email to