I figured out through debugging that I should not name any Form Elements name=\"submit\", but even after searching I didn\'t find any good explanation of why?>
name=\"submit\"
Say your form is named "foo" and you have a field "firstName".
"foo"
"firstName"
foo.firstName is that field in the form.
foo.firstName
foo.submit() will submit that form, because submit is a method on forms.
foo.submit()
submit
If you redefine submit to be a form field you overwrite the submit method.