If you are familiar with my work on Shockey Monkey and the Vladville blog, you already know I am a huge fan of jQuery. Today I wanted to write an AJAX-driven form so I didn’t have to deal with page transitions and/or reloads and more pages that were just not necessary at all. jQuery to the rescue, just keep in mind that this is a very simple superficial example, a lot more error checking and validation is done on the server end than I am showing below, this example just demonstrates the interface.
First, Include jquery.form in the header let’s write a handler for the form. This is quite trivial, the handler is activated when form SubscribeForm is submitted. If I receive a successful return from my server side script I target the SubscribeResult div container and fill it with the data that the script sent back.
<script type=”text/javascript” src=”/js/jquery.js”></script> <script type=”text/javascript” src=”/js/interface.js”></script> <script type=”text/javascript” src=”/js/jquery.jeditable.js”></script> <script type=”text/javascript” src=”/js/jquery.form.js”></script>
<script type=”text/javascript”> $(document).ready(function() { $(‘#SubscribeForm’).ajaxForm({ target: ‘#SubscribeResult’, success: function() { $(‘#SubscribeResult’).fadeIn(‘slow’); } }); }); </script>
The HTML markup is quite simple, just a form SubscribeForm followed by an empty container SubscribeResult. The form posts to a server script, subscribe.php
<form id=”SubscribeForm” method=’post’ action=’/subscribe.php’> <b>Email:</b> <input type=’text’ name=’email’> <br> <center> <input type=’submit’ value=’Subscribe’> </center> </form>
<div id=”SubscribeResult”></div>
Finally, and most importantly, the backend script. I am using PHP on my server, you may have a different program. I’ve basically chopped it down to the two lines. First one sends an email, the second one sends the script some data to display in the SubscribeResult container.
<?php
mail(“someone@vladville.com”,”Vladville Newsletter Subscription”,”Subcribe $email”,”From: blog@vladville.com”); echo “<div style=’background-color:#FFB22B; padding:10px’>Thanks, added $email</div>”; ?>
That’s all there is to it. Obviously, a lot more work goes into the validation and sanitation of the subscribe.php script but the stuff above will give you an idea of the markup and the interaction that makes for a very dynamic web site without a lot of reloads or page changes.
Note: For the record, this AJAX script handles subscriptions to my newsletter. The HTML and JavaScript are identical to the above but the subscribe.php handler is far different. For starters, I don’t use email at all, the data is inserted directly into the database along with the IP address the form was submitted from along with a timestamp. More than half of the script handles the validation and error checking. Depending on the error, it posts back some helpful text and if it all worked out it posts a green container with the congratulations. Try to play with the contents being sent back into the SubscribeResult <div>, you can send back icons, spinners and really make the site interactive
.
|
|
|
Whats on Vlad's Mind?
|
|
|
|
|
Sponsors: This blog is made possible by
Own Web Now Corp and ExchangeDefender.
If you like this blog and are in the need of products we offer I hope you give us some
consideration.
|
|
|
|
|
|
Get The Newsletter
|
Looking for a more focused, exclusive insight into the world of SMB tech & business? Sign up for my newsletter:
Click here to sign up
|
|
|
|
|
Vladfire Vlog
|
Vladfire is my video blog showcasing successful people and technology in small to medium business.
Below are a few recent episodes, check out the archive for all other films.
|

See more episodes...
|
|
|
SBS Show Podcast
|
SBS Show is a free weekly podcast (Internet for recorded radio show) focusing on small business and technology. More at sbsshow.com but check out our latest episode:
SBS Show #26
Erick Simpson
Managed Services Part 2

Listen to older shows..
|
|
|
|
| |
|
|
Categories
|
|
Archives
|
|
About
|
| Apple, Awesome, Beta, Blogroll, Boss, Cloud, Deals, E12, Events, Exchange, ExchangeDefender, Friends, Gadgets, Gators, Gaypile, Google, GTD, iPhone, IT Business, IT Culture, Legal, Linux, Microsoft, Misc, Mobility, Open Source, OS, OwnWebNow, Pimpin, Podcast, Programming, Rant, SBS Show, Security, Shockey Monkey, SMB, System Admin, Thieving Weasel, Uncategorized, Vista, Vladcast, Vladfire, Vladville, Web 2.0, Windows Home Server, WordPress, Work Ethic, Wrong |
 |
February 2012,
January 2012,
December 2011,
November 2011,
October 2011,
September 2011,
August 2011,
July 2011,
June 2011,
May 2011,
April 2011,
March 2011,
February 2011,
January 2011,
December 2010,
November 2010,
October 2010,
September 2010,
August 2010,
July 2010,
June 2010,
May 2010,
April 2010,
March 2010,
February 2010,
January 2010,
December 2009,
November 2009,
October 2009,
September 2009,
August 2009,
July 2009,
June 2009,
May 2009,
April 2009,
March 2009,
February 2009,
January 2009,
December 2008,
November 2008,
October 2008,
September 2008,
August 2008,
July 2008,
June 2008,
May 2008,
April 2008,
March 2008,
February 2008,
January 2008,
December 2007,
November 2007,
October 2007,
September 2007,
August 2007,
July 2007,
June 2007,
May 2007,
April 2007,
March 2007,
February 2007,
January 2007,
December 2006,
November 2006,
October 2006,
September 2006,
August 2006,
July 2006,
June 2006,
May 2006,
April 2006,
March 2006,
February 2006,
January 2006,
December 2005,
November 2005,
October 2005,
September 2005,
August 2005,
July 2005,
|
 |
Vlad says:
Thanks for checking out my blog. You've officially reached the end of the Internet so take in what you've read and don't look at it as gospel but an invitation to start thinking for yourself.
|
|
|
|
| |
Copyright © 2005-2010 Vlad Media, Inc. All Rights Reserved.
Content is provided AS-IS without warranty of any kind.
Syndicate this blog: 
|
|