いい機会(?)だから、調べ方の一手法を披露する。
document.getElementById()
は
Document.getElementById() - Web API | MDN によると
Element - Web API | MDN オブジェクトを返すとわかる。
Element は Document が継承するオブジェクトの中にあるすべての要素オブジェクト(すなわち、要素を表現するオブジェクト)が継承する、もっとも一般的な基底クラスです。すべての種類の要素の共通するメソッドとプロパティのみを持ちます。もっと具体的なクラスが Element を継承しています。
ちょっとむずかしいが、Documentの下でwebブラウザ上に現れている要素オブジェクトの基底オブジェクトなので、様々な要素オブジェクトにアクセスするのに適していると。
実態はElementをさらに継承したものになっていると思うけどね。
継承したものとして、HTMLElement インターフェイスを備えたものや、SVGElement インターフェイスを備えてものがあると、続けて説明がある。
さて、Elementオブジェクトのプロパティ、メソッド、イベントなど調べると、onsubmitやsubmitがないことに気づく。
Elementオブジェクトでは実装されていないようだ。
次は HTMLElement - Web API | MDN を調べる。
HTMLElement インターフェイスでのプロパティ、メソッド、イベントなど調べるとここにもない。
でも、HTMLElement インターフェイスを継承した HTMLFormElement インターフェイス があることに気づく。
HTMLFormElement - Web API | MDN でも同様にプロパティ、メソッド、イベントなど調べると
HTMLFormElement: submit イベント - Web API | MDN として解説がある。
onsubmit
については、
<form>: フォーム要素 - HTML: HyperText Markup Language | MDN もついでに見ておく。
さらには、グローバル属性 - HTML: HyperText Markup Language | MDN も見ておく。
onナニナニはイベントハンドラー属性と呼ばれると。
イベントの扱い (概要) - イベントリファレンス | MDNにて、イベントの取り回しの説明がある。
インラインイベントハンドラー — 使っちゃだめともある。
ちゃんと、
<script>要素の中で定義された関数を起動していますが、直接JavsScript そのものを属性の中に入れる事もできます。
とあるから無名functionをその場に書いちゃうのも一応できる話だなと。
=function(event){
については
Function - JavaScript | MDN
関数式 - JavaScript | MDN
も目を通すと、なるほどそういう書き方もできるのか、ってわかるはず。
こうやって芋づる式に調べていくと力がつくと思うんですが。(あくまで個人的な主観