The form below demonstrates one way in which you might gracefully degrade from an Ajax form to a plain submit-and-reload format using JavaScript. There are of course many other strategies, however this one first assumes there is no JavaScript, but then attempts to call a function that moved the form's elements out into the parent div (destroying the form tags and thus the functionality of the submit button) and then adds a function to the onclick event of the button specified in the function arguments:
ajaxifyForm(form_id, button_id, function_to_call);
First turn JavaScript off (it's probably on). Then type something into the form, click 'Go!', and see if the form submits to another page that repeats what you typed. Then back up and turn JavaScript back on. (I'm doing it in this order so that you don't forget to turn JS back on!) Reload the page (to make sure that the proper script runs after you've backed up) and then enter text in the field again, click 'Go!', and see if the word you type pops up in an alert box instead. Of course this is a very simple example, but it allows for the development of a single script (in this case, process.php) that processes your form submission in the same way, regardless of method (Ajax vs. form submission) and then either returns the output to the function making the httpRequest (as demonstrated) or perhaps processes a form submission and then returns the user to the page of origin (as demonstrated partially, but the redirection to the origin page has been hidden to demonstrate that the script has properly grabbed the text entered). Of course, as forms become more complex (for example, with file uploads), this solution may not always work.