I have a simple email address sign up form as follows:
<form action='' id='newsletterform' method='get'> <input type='text' name='email' class='required email' id='textnewsletter' /> <input type='submit' id='signup' /> </form>
Here’s what I want to be able to do:
- Validate the form to look for an empty string or a incorrectly filled out email address one the user clicks submit or hits enter.
- If one of the above happens (empty string etc), I would like to generate an error to let the user know.
- Then once the user fills out a correctly formed email address and hits submit (or enter) I want the form to send the email address to wherever I specify in the jQuery code and then generate a little ‘Thank you for signing up notice’, all without reloading the browser.
I have looked at too many tutorials and my eyes are pretty much aching at this stage, so please don’t point me to any urls (I most likely have been there).
If someone could provide a barebone outline of what to do It would be so much appreciated.
First, please be sure you do all of your validation on the server-side. I like to get my forms working without any JavaScript whatsoever. I am assuming you have done that much.
****ORIGINAL ANSWER***
Then, change your ‘submit’ element to a button element. On the OnClick of the button element, run a JavaScript function that validates. Lots of samples on how to do that as you know.
If the validation fails, send up alerts. If it is successful, use JavaScript to submit the form.
****NEW, TOOL USING ANSWER***
You can also employ JQuery as (orip points out) and it’s plugins to do this. They handle a lot of the hard work. Please make sure my comments are telling the correct story. this code also does the AJAX submitting.
This isn’t the tightest code you could write, but it will serve as an example.