Why Form Elements should not be named submit?

后端 未结 3 1637
梦毁少年i
梦毁少年i 2020-12-21 08:23

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?

相关标签:
3条回答
  • 2020-12-21 08:48

    If you check the Mozilla docs here : https://developer.mozilla.org/en-US/docs/DOM/HTMLFormElement

    You will see that forms have a .submit() method.

    In addition, forms are also populated with the fields within the form.

    (Here is one example: http://www.devbay.com/articles/javascript/accessing-form-elements-array-with-javascript/ I can't find any reference that it should happen, only that it does.)

    So, when you make an element called submit it over-rides the forms built-in submit() method -- and since the element is, well, not a function, you get that error message.

    0 讨论(0)
  • 2020-12-21 09:08

    Say your form is named "foo" and you have a field "firstName".

    foo.firstName is that field in the form.

    foo.submit() will submit that form, because submit is a method on forms.

    If you redefine submit to be a form field you overwrite the submit method.

    0 讨论(0)
  • 2020-12-21 09:08

    submit would be the form input type and i think is also used as an identifier in javascript. So naming a submit button "submit" makes the use of "submit" in javascript ambiguous

    0 讨论(0)
提交回复
热议问题