Ajax Contact Form 1.0! Yay
Shake shake shake! Shake shake shake! Shake that bootay. Shake yo bootay… Oh, er.. um. Hi. Eh hem. Sorry, I just got caught up in the moment for a second. I was in the middle of doing the classic Apple Shake Dance; you know the one that happens when you filled out an incorrect password. Yea, that one.
Anyway, for any of you out there that sat around for what seems to have been ages for me to update my cheesy Ajax Contact Form, I’ve now rebuilt it on top of the YUI Connection Manager (translation for the teenagers (AJAX!)). Oh yea. Check out the demo in action.
However beyond just the simple experience of a normal contact form, I’ve added some animation that mimics some apple shake down magic (like I was talking about) and of course some simple swooshy up-down yoyo type stuff. And although I haven’t packaged it up for you yet, lemme just tell you about it.
Now with as many fields as you want
Of course a huge shortcoming of the last Ajax Contact Form, there was the limitation of the fields that I provided. Well now with this version, you can add as many form fields as you want, and they will indeed all be sent to your inbox by way of array_keys sent via $_POST.
Better “Degradability” support
What that means is that this one has a bit better support for those who don’t have JavaScript enabled. It will simply submit the form like normal and return your success or failure message appropriately.
One thing to particularly note this time (since I got a bagillion emails last time about this) is that you only have to configure your mail settings in one spot. Yepper. Just one spot (as it should be (I don’t know what I was thinking before)).
Beyond that, you could even have multiple forms on the same page. Although untested (on my behalf), I believe that you could still do it with the architecture I’ve built.
Better looking code and extendible
Yea, I must admit; the code looks eons better, and it’s namespaced for your convenience. You really should have no problems with any of it conflicting with your current JavaScripty / PHP goodiness sitting in your web pages.
One thing I’d like to particular draw attention to is my effects object which you may freely add to at your discretion.
DED.effects Object
DED.effects = function() {
var $D = YAHOO.util.Dom;
var $M = YAHOO.util.Motion;
return {
/*
@param {String/HTMLElement} | oEl : Accepts a string to use as an ID for getting a DOM reference, or an actual DOM reference
@param {Int} | iOffset : The unit (in 'px') that the element will be shaken 'by'
@param {Int} | iNum : The number of times the motion will iterate
@param {Int} | iSpeed : The speed at which the motion will animate
*/
shake : function(oEl, iOffset, iNum, iSpeed) {
var xy = $D.getXY(oEl);
var left = xy[0]-iOffset;
var right = xy[0]+iOffset;
(function(type, args, count) {
if ( count >= iNum ) {
var a = {
points : {
to : xy
}
};
var anim = new $M(oEl, a, iSpeed);
anim.animate();
return;
}
else if ( count % 2 ) {
var c = count+1;
var a = {
points : {
to : [right, xy[1]]
}
};
var anim = new $M(oEl, a, iSpeed);
anim.onComplete.subscribe(arguments.callee, c);
anim.animate();
}
else {
var c = count+1;
var a = {
points : {
to : [left, xy[1]]
}
};
var anim = new $M(oEl, a, iSpeed);
anim.onComplete.subscribe(arguments.callee, c);
anim.animate();
}
})(null, null, 1);
}
};
}();
This effect can pretty much work on any element you want. I just happened to choose to apply it to my form elements upon ‘blur’ and ’submit’ on certain conditions (such as being a required field).
Other than that, look forward to seeing a packaged zip file with some instructions, copyrights, and bottle caps by sometime tomorrow. In the meantime… Yay! V 1.0 :)




June 9th, 2006 at 12:53 am
Nice, but the first thing I noticed is that if I repeatedly try to submit without writing anything, the “Name” field moves a little to the right every time (IE6/WinXP).
Actually, that was the second thing. The first is that in my Opera 8.54 (WinXP) it breaks horribly :(
June 9th, 2006 at 1:06 am
Personalmente agradezco esta nueva versión, por que es la que uso, pero creo que debe “pulirse” un poco, ¿no?…
June 9th, 2006 at 1:07 am
Now that is cheesy! And it dont even try to work in Opera(284-dapper). It shakes, and finds it selv a nice home in the upper left corner.
Make it send an request to the server to send the mail and then give feedback without refresh would actually be usefull, but I guess you forgot. ;)
June 9th, 2006 at 1:08 am
Go figure. My first comments would be a downers ;)
Anyways, Opera?! Posh. Besides, aren’t they already on Opera 9 or something like that? I tested in IE6, Safari2 and Firefox 1.5 and they all worked like a charm.
The repeated submitting sounds like a QA behavior if I ever heard one. Regardless, that isn’t a lack of the functions themselves (eg. shake), but rather the way I mis-implemented them. I guess technically I should check the
isAnimatedinstance property before making it continually shake. No big deal. It’s nothing that another two lines of code couldn’t fix.Again, just my luck that the first couple would be opera users and I haven’t even taken a peak in the browser.
Thanks for your feedback guys :)
June 9th, 2006 at 1:30 am
Like it, but Opera 9b2 on WinXP doesn’t play nice either.
Click in the name field, and tab to the next field (or click in it) and it settles in the upper left corner. Go back to it, and the field you were in *also* settles in the upper left corner, on top of the name field.
Apart from that, nice work!
June 9th, 2006 at 2:47 am
> aren’t they already on Opera 9 or something like that?
It’s still a beta, but it wasn’t me who classified Opera 8.54 on XP as an A-grade browser :D
But hey, I even went to *IE6* to check it. Do you have any idea how exceptional is for me to use IE6? :D :D
> just my luck that the first couple would be opera
We’re few, but we’re everywhere! :)
Now seriously, I’m not a big fan of animation (at least in the “movement” sense), but I found the onblur shaking weird. I’d leave it just for the onsubmit.
June 9th, 2006 at 4:58 am
As a non-apple user the “dance” means nothing to me. And if I was blind it’d mean even less - maybe there’s some hidden text saying “error, fill out all fields” or something that a screen reader is supposed to pick up on that I’m not seeing, but it appears very inaccessible as it stands.
I also had the problem in IE6 of the name field moving over each time.
Seems very half-finished compared to other stuff I’ve seen you do :( And a hell of a lot of code for what is just form submission - is a page refresh really THAT bad a thing?
June 9th, 2006 at 7:50 am
You probably know this already, but this works beautifully in the latest Firefox. I just thought that I should probably write in to offset the negative comments. :)
June 9th, 2006 at 8:32 am
Well, let’s just say it’s a darn good thing I haven’t packaged this thing up yet. I might bundle it with a few different core effects to choose from but ultimately you should be able to leave them all out. Ideally it would be good to keep the processing meter just to show that something actually did happen. The important thing is that I’ve implemented the ‘required’ fields error checking - so you can virtually do anything you want on top of those events getting fired (I’m smelling CustomEvent :D).
I just looked in Opera (Just downloaded it - Yay), and it does indeed mess up the shakes. That seriously looks like a bug in the getXY. I don’t know how something like that can mess up pretty bad. I’ll have to go back and read some of the docs and see if there’s any pre-reqs to get Opera to cooperate nicely. Other than that, the form actually submits pretty nicely as expected when filling it out the first time without any errors.
@Scott: Aww shucks. Thanks man :)
June 9th, 2006 at 9:47 am
Nice and cheesy is indeed the flavour of the day!
On a Mac the shake effect happens to the entire form when you submit it with an incorrect password, not the individual fields, maybe that would work well here too.
The Yahoo Javascript Library seems to lead to some concise and clear coding on your part, I’d be interested to see how, widgets, bells and whistles aside, this compares to Prototype.js for using as a base in creating custom code.
June 9th, 2006 at 9:47 am
FYI: I fixed that Opera issue. It was in dire need of wanting to be relatively positioned. Poo. Acid2 my butt.
June 9th, 2006 at 9:50 am
OK, this feedback my be a little obscure but I thought I’d throw it out there. I’m on Firefox with the Autofill extension and the extension flips field backgrounds to pale yellow if it can autofill them. This doesn’t jive with your white text in the form fields at all. However in your comments form, you appear to have disabled the pale yellow change but the autofill function still works.
June 9th, 2006 at 10:03 am
The shake didn’t mean anything to me either, so it was just sort of shocking, but having a custom effect when they aren’t filled out could be kinda sweet.
I did like how the form collapsed after it was submitted.
I take it this was all done with YUI?
June 9th, 2006 at 10:46 am
@Mike: Hmm. Good point. If anything, I was just being clever by applying the shake to the fields. I could have sworn it was on the fields when you start up OSX and put in a bad password. Anyhowza, just as easy to apply to the form element :)
As mentioned in a few other posts and some podcasts, YUI is not here to make things canned for you, but rather a set of tools to get things done the way you want. A huge goal of YUI is mainly to make things work across multiple browsers.
So with something like Script.aculo.us - you’re not limitted to Effects like SlideUp, SlideDown, Fade, BlindUp etc., but rather with the Animation util you can make Blindy_Slide_YoYo_Shake. The options are endless and depend on your imagination :)
@JAbbott: That’s the classic case of google doing something they shouldn’t :p. The only reason it looks bad is because I chose a black background with white text, and google will always hijack your background to yellow by default. Lame, I know. Basically, in order to combat that, I’d have to do add an extra listener to wait for the
onpropertychangeevent to fire, then restore my own colors. All in all, not much extra work is needed to do that.@Elliot: Perhaps the most logical effect would be the simplest… such as outlining the fields with a red border. But I’ll leave that up to the implementer when I get this packaged up.
June 9th, 2006 at 2:00 pm
Thanks Dustin for show us the power of Yahoo User Interface Library ! It’s really very powerfully, I fell in love with it thanks to you..
One of tricks I have done to make these libraries more comfortable for me was to compress every library into one line of code(I did that with http://wbic16.xedoloh.com/cruncher.html), so now to add new YUIL it’s as easy as copy/paste one line of code.. Also I replaced YAHOO with Y for less space..
var $D = YAHOO.util.Dom; nice idea ! :)
Already saw this shake effect somewhere on the web, not sure where.. Very nice to doing it with Y library !
And.. Opera sux ! Very often FF&IE are happy with some code, but not Opera.. Always something new to show, eh.
June 9th, 2006 at 2:58 pm
@Namolovan: The place I originally saw the shake effect was from Script.aculo.us (ala JavaScript style) - which I’m sure may have been inspired also from Apple’s OS.
The short name variables such as
$D and$Eare used only in private scopes so that I’m not mucking with anyone elses global variables.The issue with Opera is very awkward. Every time I think they’ve got things right, a weird bug like what happened, happens. But for the most part, Safari and Opera seem to behave pretty similar as far as CSS goes. Safari of all browsers has the most quirkiest DOM. At the least (and I hate to say this), IE gives you alternative (proprietary) methods to achieve the result you want… which is, I guess, still nice.
June 12th, 2006 at 6:19 am
I quite like it Dustin. I have been an DustinDiaz Ajax Contact Form supporter since your first version. I can’t wait until this is truly bundled and ready to go. I am becomming more and more impressed with the YUI.
sidenote: One thing to note is that after the ’success’ message the form was not cleared. Maybe you did that on purpose?
June 12th, 2006 at 10:03 pm
package this b up already!
;)
June 12th, 2006 at 11:06 pm
btw… i know this is sorta off the subject…
but i noticed that the old 0.9 version’s checkbox “cc to self” is being passed a checked value, no matter if it’s checked or unchecked–it behaves like it’s checked, no matter what.
Any idea on why this is so?
In other words, it always sends a CC to self, with or without the checkbox checked.
June 13th, 2006 at 5:09 pm
I think i figured out the “cc to self†issue…
Basically, the javascript (contact.js) is being passed the “id” value (getElementById) from the form fields… and is automatically selecting the initial value set for that field (check or unchecked, it doesn’t matter)
a solution that works is using “select” instead of “checkbox” … and specify a NULL value for the first choice–because the first choice is selected by default by the javascript if no choice is given…
e.g.
instead of:
i did:
No
Yes
kind regards,
-al b
June 13th, 2006 at 5:11 pm
ooops… code got stripped…
lets’ try this again…
instead of:
<input type="checkbox" name="selfCC" id="selfCC" value="send" />
i did:
<select name="selfCC" id="selfCC">
<option value="">No</option>
<option value="send">Yes</option>
</select>
June 14th, 2006 at 1:13 am
nice, thanks for the update Dustin. but I still prefer the old script tho. YUI is not really my thing.
June 16th, 2006 at 10:42 pm
Al b
How can we remove the “Send CC to self” field from the first script? Ive tryed removing it but the form stops working.
June 17th, 2006 at 6:55 am
Where can we download 1.0 Version? Im having trouble trying to remove “selfCC” field from the 0.9 version. If i do, the form doesnt work.
June 19th, 2006 at 8:57 am
yeah, i’m hell-bent to download the 1.0 version as well.
happy firbdayâ„¢!
June 20th, 2006 at 12:23 am
A drag, I JUST installed the 0.9 on my site cough::http://www.askajapaneseperson.com::cough…
June 20th, 2006 at 2:46 pm
Anyone looking to understand the YUI library a bit more after checking out Dustin’s link may also be curious (even after reading through Yahoo’s DevCenter examples) of just how PHP needs to interact with the received XMLHttpRequest data, but at the same time work if JavaScript is turned off. I spent a good 2 hours trying to find example code. The closest I could find came from, (drum roll), Rasmus Lerdorf’s personal blog site.
http://toys.lerdorf.com/
Until Dustin gets around to releasing this in a packaged download, hopefully this’ll help. If anyone else KNOWS or has an example, let me know. :)
June 23rd, 2006 at 3:54 pm
Congratulations!
June 24th, 2006 at 5:00 am
Hilarious! Not being an Apple user I laughed when I first saw it :) Great work and thanks for so freely showing us your code….
July 5th, 2006 at 9:45 am
What has to be changed so that the form is cleared after submission? Could get my ass up, but I’m a bit lazy these last days…
Amazing work though Dustin. Same for your podcasts.
July 5th, 2006 at 9:01 pm
francisco…
change the checkbox code (in index.php) to this:
<input value="false" name="selfCC" id="selfCC" type="hidden" />
July 9th, 2006 at 1:28 pm
In Firefox 1.5.0.4, the name input likes to scoot itself accross the screen after it shakes.
Screenshot:
http://img326.imageshack.us/img326/8153/ajaxcontactformyui7iq.png
July 9th, 2006 at 1:33 pm
Edit to my last post:
It happens to whichever input has focus. It’m guessing it has a problem with padding or magins or something.
July 14th, 2006 at 6:03 pm
I was inspired by your original ‘cheesy’ (your words ;-)) contact form and took it on as my own project. I spent a while on it and combined a lot of client-side validation with some PHP security measures and made a fully accessible DOM scripted AJAX contact form with the ability to handle additional fields. The code needs a lot of cleaning up, as does the ‘degradability’ (it’s tedious and unrewarding work, as you know). But it’s open to the public as a demo at http://blog.circlesixdesign.com/contactform
Brett
July 19th, 2006 at 3:26 pm
When will we finally going to see Version 1.0 Packaged to download… ????
July 19th, 2006 at 10:08 pm
yes, let us see the packaged download today or tomorrow perhaps.
google toolbar makes some fields background yellow and I cannot see my white text.
This has gone bad.
July 23rd, 2006 at 11:18 pm
I have not seen the code, but it seems that the shake effect, if started again on the same field before last effect is completed, the position of fields changes.
To reprodure, on your page,
http://www.dustindiaz.com/basement/shake-shake-shake.php
Just keep the tab pressed.
I tested it in IE, Maxthon and Opera.
July 28th, 2006 at 4:40 am
Umm, where can I download that form? O.o
August 10th, 2006 at 5:09 pm
Actually, the “animation” link in the third paragraph is broken. The “yui” directory is missing.
August 22nd, 2006 at 4:29 am
HOw can I use horde framework to make a website
August 24th, 2006 at 11:17 am
Hi,
Great work Dustin, just wondering what I a need to do to modify the older version of the ajax form to incorporate the field validation that you have in version 1.
Thanks
August 31st, 2006 at 3:38 pm
I am happy with the positive comments for version 1.0 but i can’t seem to find the place to download it from.
September 22nd, 2006 at 3:11 am
It would be nice to have this YUI contact form without all this shaking stuff .. (which is nice, bit not really necessary). What part do I have to strip? Is it possible to place this form inside a YUI dialog/panel (aka popup)? Right now, my popup closes on submit, so there’s no chance to see the progress bar or the feedback message .. I’m thankful for any hints on this.
September 26th, 2006 at 5:58 pm
very nice work on the form and sweetTitle.
I also wonder where i can download.
but my main question is:
is it possible to add a captcha algorithm a security code to this form or some kind of security to avoid those nasty people who are using our forms to serve their own purpose?
September 28th, 2006 at 11:28 am
1) Thank you
2) Broken appearance? http://www.dustindiaz.com/ajax-contact-updated/
I see a narrow, centered column.
3)Thanks again.
November 4th, 2006 at 6:50 am
Cool stuff.
I don’t mind the plain vanilla version for my purposes… I’m not able to comment on that page.
Is this supposed to send an email? http://www.dustindiaz.com/testJax/ It doesn’t work for me. Tried several times.
I’ve also integrated with my site and tried it several times. Looks like it works but no email. Just like a couple other folks.
November 4th, 2006 at 8:50 am
by the way, I get the following error in the debugger: “pos.responseXML has no properties” xmlHttp.js (line 23). I’m using FireFox 2.0 and IE 6.0 for testing.
November 6th, 2006 at 9:48 am
[...] If you are interested in other useful Ajax tools, you may want to check out Dustin Diaz’s Ajax contact form. It’s pretty clever, and packed with nice effects, but seems to struggle to work in Opera. A word of caution, it’s pretty easy to get swept up by the allure and ease of implementation of many Ajax/DOM scripting tricks. Always ask yourself how it benefits or hurts the user experience. If you find yourself adding features because they are cool, yet they negatively impact findability, accessibility, or cross-browser use then you probably should reconsider. James Edwards has written a sobering article about Ajax and screen readers (lump search engine spiders in that group too as they are equally as blind) that may bring you back down to earth about the Ajax trend. I should also mention that my article is actually backwards compatible for those without JavaScript enabled, giving us the best of both worlds. The article also uses Ajax specifically to enhance the user-experience by making the impulse action of signing up for a mailing list faster and more convenient. Listen to this podcast [...]
November 6th, 2006 at 10:54 am
[...] If you are interested in other useful Ajax tools, you may want to check out Dustin Diaz’s Ajax contact form. It’s pretty clever, and packed with nice effects, but seems to struggle to work in Opera. It’s a pretty sophisticated example of a contact form. A word of caution, it’s pretty easy to get swept up by the allure and ease of implementation of many Ajax/DOM scripting tricks. Always ask yourself how it benefits or hurts the user experience. If you find yourself adding features because they are cool, yet they negatively impact findability, accessibility, or cross-browser use then you probably should reconsider. James Edwards has written a sobering article about Ajax and screen readers (lump search engine spiders in that group too as they are equally as blind) that may bring you back down to earth about the Ajax trend. I should also mention that my article is actually backwards compatible for those without JavaScript enabled, giving us the best of both worlds. The article also uses Ajax specifically to enhance the user-experience by making the impulse action of signing up for a mailing list faster and more convenient. Listen to this podcast [...]
November 15th, 2006 at 10:00 am
Hey Dustin,
this page might not be proper path to adress this question but, since you have some experience with AJAX, i hope you can give me some hints;
This form sends email using php mail() to a certain email adress, nevertheless; is there a way to parse the fields to a msg.php page somewhere else on the server, and see what ever is written on the form as message #1, msg #2 so on so forth?
Thanks.
December 5th, 2006 at 5:16 pm
Dear Justin:
Its been over 8 month now waiting for a packaged download to be posted. I know your busy.. We are all just wondering whats happening?
January 24th, 2007 at 8:18 pm
cool stuff
January 29th, 2007 at 5:40 pm
I have been anxiously awaiting a download… can you please provide one?
February 6th, 2007 at 4:13 am
i agree with brian above - this doesnt work locally.
http://www.dustindiaz.com/testJax/
in fact i commented out most of the stuff in contact.php and i still get a email success message -even though contact.php doesnt have anything in it!
February 9th, 2007 at 12:23 pm
I have addded th .9 release to three pages to a work in progress site (weheartweb.com/contactus.html) - thing is, the emails all come through but only with the message and regarding fields. The name and email fields aren’t emailed through.
AJAX novice so go easy!
February 11th, 2007 at 11:15 am
I have put the form up as a test at grooveonline.co.uk/ajaxContact/
The browser crashes (or at least stalls!) when i click send? any ideas?
February 11th, 2007 at 8:21 pm
the reason for the cc to self problem is that the javascript checks for the VALUE of the checkbox, simply change VALUE in the javascript to CHECKED. dustin did a great job with this ajax sender… although i could do without the snarky commentary in the code.
make this fix:
var strCC = document.getElementById(’selfCC’).checked;
in sendposemail function.
March 2nd, 2007 at 11:42 am
I am endlessly waiting to download version 1.0. God knows when my wait will be over?
April 10th, 2007 at 7:58 am
Hi,
This looks awesome. Almost an year since post and still not released. Any chances of ETA ?
Regards
Sukhdeep
April 11th, 2007 at 12:35 pm
I’m using your contact form in version 0.9
Great work!
But I have one problem: I receive an posted email 3 days later …
What can be the problem?
May 3rd, 2007 at 5:01 pm
@Scream
Probably a mail server was unavailable somewhere en-route between your web server and your inbox. It will not be anything to do with the contact form.
May 21st, 2007 at 10:02 pm
when can we download v1.0? ohh and first version also doesnt send any mail, it just says it was succesful but nothing sends? :( how ot fix this?
May 28th, 2007 at 10:10 am
This looks great. Where can I get version 1.0 or higher.
-Marc
June 3rd, 2007 at 2:52 am
this is awesome man, but where is the zip? love ur work. great post on handling negative feedback u did too! ;)
June 17th, 2007 at 1:50 pm
Can we have a
D
O
W
N
L
O
A
D
?
Many thanks. Appreciate your Work!
June 20th, 2007 at 3:55 am
This is a pretty nice contact form, just a shame that this version is not uploaded, any chance that we will get a download link soon?
Regards
Per
June 29th, 2007 at 1:46 pm
on your previous contact form how would one go about adding additional fields?
July 13th, 2007 at 1:12 pm
So it’s been over a year and still no zip/any kind of download at all :( I don’t think it’s coming
July 19th, 2007 at 4:08 pm
WHAT ABOUT “pos.responseXML has no properties†xmlHttp.js (line 23) ERROR that appears on screen! i can’t have errors on my website!
i have no clue what this means and why it doesnt work:
PLEASE JAVASCRIPT SPECZS HELP ME!
what is this function used for? why grabPosXML? WTF is this?!!?
July 29th, 2007 at 11:07 am
Respected
Dustin Diaz
you are great programmer but without validation you are “jack of all triats…..”
just a little thing!
hope you won’t mind.
Ram
August 3rd, 2007 at 9:26 am
Hi,
I have the same problem like Yaron. Allways got the Error:
pos.responseXML.documentElement.getElementsByTagName(tagName)[0] has no properties
(xmlHttp.js.php)
It appears after calling grabPosXML(’confirmation’) by the function hideContactTimer()
Any ideas?
Greets
August 17th, 2007 at 11:01 am
Hello Dustin, I have been looking all over the internet for a form with validation built in. Have your 0.9 ver.. Looking forward to your new ver.1.0 when it arrives. Do the people posting to this blog get notified when the 1.0 ver. arrives. Keep doing your excellent work !! thanks B.
September 17th, 2007 at 12:39 pm
It’s been well over a year since this announcement… been busy Dustin? I think more than a few of us might actually download this grand new version 1.0 script if we were allowed to. :)
September 30th, 2007 at 1:06 pm
It’s been well over a year since this announcement
))))))
November 7th, 2007 at 12:12 pm
I too have the same problem. Firebug throws up an error in line 28 of ‘xmlHttp.js’
function grabPosXML (tagName) {
return pos.responseXML.documentElement.getElementsByTagName(tagName)[0].childNodes[0].nodeValue;
}
I’m not sure what this is.
November 14th, 2007 at 4:28 pm
for a download.
PLEEEEEAAAASE!!
November 29th, 2007 at 2:16 pm
I would love to try the new version if possible.
November 30th, 2007 at 6:05 pm
can i download the 1.0 version pleaseee??
December 1st, 2007 at 5:27 am
please i need the 1.0 version…
can i have a download please?
i apreciate your works, its awesome!
January 20th, 2008 at 11:00 pm
So I checked your demo site and found that you are getting an error.
pos.responseXML.documentElement.getElementsByTagName(tagName)[0]
Any fix for this?
January 20th, 2008 at 11:07 pm
sorry about that, that was your old contact form, tried the demo on this one, no error. Still a fix for the old one would be nice as I like how that functions
February 6th, 2008 at 4:23 pm
Is this available for download could I have a link for 1.0 please?
June 3rd, 2008 at 10:55 am
Cool. Sure would like to give it a try, but I can’t locate the “look forward to seeing a packaged zip file” anywhere!!
June 11th, 2008 at 11:28 am
I read the first 15-20 comments and they were mostly negative or had a negative tint to them. I first played with your Ajax Contact form last year right around the time you were apparently working on this version, and I have to say Right On!
Really, this is great. I haven’t implemented it yet, but I’m sure I’ll figure that out. For all the people on here complaining about compatibility or changes - you made it available, they can make changes or suggestions.
Simply saying “this sucks” or “I don’t like it because” in so many words is worthless. Congratulations to you on a pretty cool contact form. :)