読者です 読者をやめる 読者になる 読者になる

kitak.blog

Kみたいなエンジニアになりたいブログ

DOM要素のsubmitメソッドを呼んでも、onsubmitハンドラはトリガーされない

JavaScript

こんにちは。そうめん大好き、きたけーです。

DOM要素のsubmitメソッドを実行しても、onsubmitハンドラは呼ばれないんですね (一時間くらい潰しました...)

コードで書くと、

document.forms["myform"].submit();

とかやっても、<form name="myForm”>のonsubmitハンドラは呼ばれない(jQueryのsubmitイベントに登録しているイベントリスナーも同様)。

しょうがないのでjQuery

$(document.forms["myForm"]).trigger("submit");

と書いて、onsubmitハンドラは、jQueryのsubmitイベントに登録するイベントリスナーに書き変えることで対応しました。とほほ...

参考: HTMLFormElement.submit - Web API インターフェイス | MDN