jquery / cfmail app issues
Hello;
I am trying to create a small contact form made from jquery, and using a cfmail page when the form is properly populated. Right now, this form will work with a php email form, called mail.php. I'm trying to now make this work with a mail.cfm form and as of right now, it's not sending it.
I can't do a dump, it is written in java and ajax so it just executes that code and isn't sending the message. I think I am missing some operators here... can anyone help me?
This is the code:
jquery page:
(function($){
//define the new for the plugin ans how to call it
$.fn.contactable = function(options) {
//set default options
var defaults = {
name: 'Name',
email: 'Email',
message : 'Message',
subject : 'A contactable message',
recievedMsg : 'Thankyou for your message',
notRecievedMsg : 'Sorry but your message could not be sent, try again later',
disclaimer: '',
hideOnSubmit: true
};
//call in the default otions
var options = $.extend(defaults, options);
//act upon the element that is passed into the design
return this.each(function(options) {
//construct the form
$(this).html('<div id="contactable"></div><form id="contactForm" method="" action=""><div id="loading"></div><div id="callback"></div><div class="holder"><p><label for="name">Name <span class="red"> * </span></label><br /><input id="name" class="contact" name="name" /></p><p><label for="email">E-Mail <span class="red"> * </span></label><br /><input id="email" class="contact" name="email" /></p><p><label for="comment">Your Feedback <span class="red"> * </span></label><br /><textarea id="comment" name="comment" class="comment" rows="4" cols="30" ></textarea></p><p><input class="submit" type="submit" value="Send"/></p><p class="disclaimer">'+defaults.disclaimer+'</p></div></form>');
//show / hide function
$('div#contactable').toggle(function() {
$('#overlay').css({display: 'block'});
$(this).animate({"marginLeft": "-=5px"}, "fast");
$('#contactForm').animate({"marginLeft": "-=0px"}, "fast");
$(this).animate({"marginLeft": "+=387px"}, "slow");
$('#contactForm').animate({"marginLeft": "+=390px"}, "slow");
},
function() {
$('#contactForm').animate({"marginLeft": "-=390px"}, "slow");
$(this).animate({"marginLeft": "-=387px"}, "slow").animate({"marginLeft": "+=5px"}, "fast");
$('#overlay').css({display: 'none'});
});
//validate the form
$("#contactForm").validate({
//set the rules for the fild names
rules: {
name: {
required: true,
minlength: 2
},
email: {
required: true,
email: true
},
comment: {
required: true
}
},
//set messages to appear inline
messages: {
name: "",
email: "",
comment: ""
},
submitHandler: function() {
$('.holder').hide();
$('#loading').show();
$.post('mail.cfm',{subject:defaults.subject, name:$('#name').val(), email:$('#email').val(), comment:$('#comment').val()},
function(data){
$('#loading').css({display:'none'});
if( data == 'success') {
$('#callback').show().append(defaults.recievedMsg);
if(defaults.hideOnSubmit == true) {
//hide the tab after successful submition if requested
$('#contactForm').animate({dummy:1}, 2000).animate({"marginLeft": "-=450px"}, "slow");
$('div#contactable').animate({dummy:1}, 2000).animate({"marginLeft": "-=447px"}, "slow").animate({"marginLeft": "+=5px"}, "fast");
$('#overlay').css({display: 'none'});
}
} else {
$('#callback').show().append(defaults.notRecievedMsg);
}
});
}
});
});
};
})(jQuery);
mail.cfm:
<cfparam name="FORM.name" default="">
<cfparam name="FORM.emailAddr" default="">
<cfparam name="FORM.comment" default="">
<cfmail to="me@mysite.com"
from="#form.emailAddr#"
subject="Feedback"
type="html"
server="mail.mysite.com"
port="25">
<cfmailparam name="X-Priority" value="1"/>
<font face="Verdana, Arial, Helvetica, sans-serif" color="##000000" size="2">
<b>Feedback Form!!</b><br>
<br>
<b>Customer Name:</b> #form.name#<br>
<b>Customer Email:</b> #form.emailAddr#<br>
<br />
<b>Feedback:</b><br>
<p> #form.comment#</p></font>
</cfmail>
Thank you. I hope someone can help me.
