dom_dom0600_008

submit ハンドラ内で送信元フォーム要素を参照するには、イベントオブジェクトの ( A ) を使う。たとえば new FormData(event.( A )) のようにし、個別の入力には form.elements.( B ) でアクセスできる。

解答

A: target
B: 名前(name)での参照(例: form.elements.username)

解説

イベントは event.target に発火元要素を持ちます。フォームの elements コレクションは name で各フィールドへアクセスできます。

使用例(サンプルコード)

[ html ]

<form id="login">
  <input name="username">
  <input name="password" type="password">
  <button>Login</button>
</form>
<script>
  document.getElementById('login').addEventListener('submit', (event) => {
    event.preventDefault();
    const form = event.target;
    console.log(form.elements.username.value);
  });
</script>