Alright... now I've got this working very well. The only problem I have now is validation. I normally submit a page back to itself, run some checks on the form values and throw up any errors messages before the form processes.
However, with the function "CalculateMortgage" below, I can't do that. So I need some input on how to use jQuery for validation. Is there some info somewhere that will walk me through that? I need the following validation for form input: Principal: There must be an entry and it must be a number after all "$ , ." are taken out. Interest: There must be an entry and it must be a number after a % sign which might be entered is taken out. Years: There must be an entry and the entry must be numerical. Can anyone point me to some validation technique info that I could draw from? Thanks! Rick === Calc page: <script type="text/javascript" src="/js/jquery.js"></script> <script type="text/javascript"> function CalculateMortgage(){ var Params = {}; // select all inputs of type text $("input:text").each(function(){ Params[$(this).attr("name")] = $(this).val(); }); // "post" the form. The Param object mimics form fields $.post("/path/to/yourdatapage.cfm", Params, function(data){ // this is the processing function. // append what you get back to the element with ID = Result after clearing its contents $("#Result").empty().append(data); } ); } </script> <form name="f"> <table> <tr> <td align="right"><strong>Principal:</strong></td> <td><input type="text" name="Principal"></td> </tr> <tr> <td align="right"><strong>Interest Rate:</strong></td> <td><input type="text" name="InterestRate"></td> </tr> <tr> <td align="right"><strong>Duration:</strong></td> <td><input type="text" name="Duration"></td> </tr> <tr> <td align="right"><strong>Result:</strong></td> <td><span id="Result"></span></td> </tr> <tr> <td align="right"> </td> <td><input type="button" value=" Calculate " onClick="CalculateMortgage();return false;"></td> </tr> </table> </form> ======== Page from which you are getting the data: <cfsetting showdebugoutput="no"><cfset calc = form.Principal * form.InterestRate * form.Duration> <cfcontent reset="yes"><cfoutput>#DollarFormat(calc)#</cfoutput> Rick Faircloth wrote: > > Hi, Daemach... > > Thanks for the guidance, but unfortunately, I'm still using > CF 4.5, so CFC's are obviously not an option. I plan to > upgrade this summer to CF 8 and catch up with everyone. > > I was looking over your code, too... that complicated stuff! > (For someone just starting out, anyway...) After looking over > the code, I can begin to see how it's being done... just wish > I could use AjaxCFC! > > Thanks for your time and help! > > Rick > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On > Behalf Of Daemach > Sent: Wednesday, February 28, 2007 6:00 PM > To: discuss@jquery.com > Subject: Re: [jQuery] Need some guidance... > > > 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 >> discuss@jquery.com >> http://jquery.com/discuss/ >> >> > > -- > View this message in context: > http://www.nabble.com/Need-some-guidance...-tf3323366.html#a9240414 > Sent from the JQuery mailing list archive at Nabble.com. > > > _______________________________________________ > jQuery mailing list > discuss@jquery.com > http://jquery.com/discuss/ > > > > _______________________________________________ > jQuery mailing list > discuss@jquery.com > http://jquery.com/discuss/ > > -- View this message in context: http://www.nabble.com/Need-some-guidance...-tf3323366.html#a9244359 Sent from the JQuery mailing list archive at Nabble.com. _______________________________________________ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/ _______________________________________________ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/