[jQuery] Can't figure out how to put this all together...
Hi, all...
I'm trying to validate form inputs (individually onblur) and post a form
to calculate a mortgage payment.
This method involves jQuery on the client side
and ColdFusion on the server side for validation.
I've worked out the validation with no lingering problems.
I can't figure out how to submit the form.
Online demo:
http://bodaford.whitestonemedia.com/html/trial_field_validation.cfm
Here's the jQ I've got:
<script type="text/javascript">
// Define CalculateMortgage in the global scope so that it is always
accessible
function CalculateMortgage(){
var Params = {};
// select all inputs of type text
$("input:text").each(function(){
Params[$(this).attr("name")] = $(this).val();
}); // closes input:text function
// "post" the form. The Param object mimics form fields
$.post("callpage_Validate_Mortgage_Inputs.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);
} // closes post function
); // closes ( after .post
} // closes { after CalculateMortgage = function() {
//$.validator.defaults.debug = true;
$(document).ready(function(){
$("#Principal").blur(function(){
$.post("callpage_Validate_Mortgage_Inputs.cfm",
{principal:$("#Principal").val()},
function (data) {$("#Result_Principal").empty().append(data)
} ) });
$("#Interest").blur(function(){
$.post("callpage_Validate_Mortgage_Inputs.cfm",
{interest:$("#Interest").val()},
function (data) {$("#Result_Interest").empty().append(data)
}) });
$("#Years").blur(function(){
$.post("callpage_Validate_Mortgage_Inputs.cfm",{years:$("#Years").val()},
function (data) {$("#Result_Years").empty().append(data) })
});
});
</script>
Here's my HTML:
<Form id="Calculate_Mortgage" Name="Calculate_Mortgage">
<table>
<tr>
<td>
<Span id="Result_Principal"></span>
</td>
</tr>
<tr>
<td>
Principal: <INPUT ID="Principal" Name="Principal"
Type="Text" Value="" Size="20" Class="TextInput01">
</td>
</tr>
<tr>
<td>
<Span id="Result_Interest"></span>
</td>
</tr>
<tr>
<td>
Interest: <INPUT ID="Interest" Name="Interest"
Type="Text" Value="" Size="20" Class="TextInput01">
</td>
</tr>
<tr>
<td>
<Span id="Result_Years"></Span>
</td>
</tr>
<tr>
<td>
Years: <INPUT ID="Years" Name="Years" Type="Text"
Value="" Size="20" Class="TextInput01">
</td>
</tr>
<tr>
<td>
Result:<Span ID="Result"></Span>
</td>
</tr>
<tr>
<td>
<INPUT ID="Calculate" Name="Calculate" Type="Submit"
Value="Calculate">
</td>
</tr>
</table>
</Form>
And here's my CF validation and Calculate Payment page:
<CFSET Principal_Error_Message = "">
<CFSET Interest_Error_Message = "">
<CFSET Years_Error_Message = "">
<CFIF IsDefined("Form.Principal")>
<CFIF Len(Trim(Form.Principal)) and Not
IsNumeric(REReplace(Form.Principal, "[.$,]","","All"))>
<CFSET Principal_Error_Message = "Please enter a
valid dollar amount.">
<CFELSEIF Not Len(Trim(Form.Principal))>
<CFSET Principal_Error_Message = "Please enter a
value for the Principal.">
</CFIF>
<CFOUTPUT>#Principal_Error_Message#</CFOUTPUT>
</CFIF>
<CFIF IsDefined("Form.Interest")>
<CFIF Len(Trim(Form.Interest)) and Not
IsNumeric(REReplace(Form.Interest, "[.]","","All"))>
<CFSET Interest_Error_Message = "Please enter a
valid Interest Rate.">
<CFELSEIF Not Len(Trim(Form.Interest))>
<CFSET Interest_Error_Message = "Please enter a
value for the Interest Rate.">
</CFIF>
<CFOUTPUT>#Interest_Error_Message#</CFOUTPUT>
</CFIF>
<CFIF IsDefined("Form.Years")>
<CFIF Not Len(Trim(Form.Years))>
<CFSET Years_Error_Message = "Please enter the
number of years.">
</CFIF>
<CFIF Len(Trim(REReplace(Form.Years, "[0-9]","","All")))
and Not IsNumeric(REReplace(Trim(Form.Years),
"[0-9]","","All"))>
<CFSET Years_Error_Message = "Please enter a valid
number for years.">
</CFIF>
<CFOUTPUT>#Years_Error_Message#</CFOUTPUT>
</CFIF>
<CFIF IsDefined("Form.Principal")
and IsDefined("Form.Interest")
and IsDefined("Form.Years")>
<CFIF Principal_Error_Message is ""
and Interest_Error_Message is ""
and Years_Error_Message is "">
<CFSET Interest = Form.Interest/(12*100)>
<CFSET
Payment=Form.Principal*(Interest/(1-(1+Interest)^-(Form.Years*12)))>
<CFCONTENT Reset="yes"><CFOUTPUT>#DollarFormat(Payment)#</CFOUTPUT>
<CFELSE>
<CFOUTPUT>0</CFOUTPUT>
</CFIF>
</CFIF>
Why won't this work together?
How can I put it together?
I'd love to use a submitHandler with Jorn's Validation plug-in
to prevent submission of the form as long as there are errors.
Is that possible?
Thanks for any help!
Rick
_______________________________________________
jQuery mailing list
discuss@jquery.com
http://jquery.com/discuss/