onsubmit

onsubmit

form 要素 onsubmit 属性 (HTML, XHTML 1)

[1] HTMLform 要素の onsubmit 属性は、 フォーム提出される時に発生する事象に関する内在事象属性です。

[2] 仕様書:

[11]:\ (名無しさん 2007-06-26 18:26:20 +00:00)

代替

[3] 内在事象属性は表現と構造の分離の原則に反するので、 好ましくないと考える人もいます。また、 DOM 0 に基づく古い設計です。

代わりに、 script 要素などにより関連付けたスクリプト内で DOM 2 以上の事象に関するメソッド等が利用できます。 DOM 水準 2 や DOM 水準 3 はこの属性に対応する DOM の事象 ev:submit を用意しています。

属性値

[4] この属性の値は %Script です。 SGML 的には CDATA です。 自称が発生したときに実行するスクリプトの code を記述します。スクリプト言語は、 Content-Script-Type によります。

[5] この属性は省略可能です。

他との関係

[6] この属性に対応する DOM の事象は ev:submit です。そちらもあわせてごらんください。

メモ

[7] onsubmit="

  submit ();
  alert ('Submitted?');
  return false;
"

のようなことをすると、なぜか onsubmit="

  alert ('Submitted?');
"

のような振る舞いになります。 (Firefox 0.9, WinIE 6, Opera 8) ]PRE] ]PRE]

テスト: submit() Method in submit Event https://suika.suikawiki.org/~wakaba/-temp/test/html/form/event/submit-submit?text1=errrr

(名無しさん [sage])

[8] submit の後に reset を実行してみたらどうなのかと言えば、 リセット前のフォーム・データが提出されています。

submit() Method Followed by reset() Method in submit Event https://suika.suikawiki.org/~wakaba/-temp/test/html/form/event/submit-submit-reset

逆に reset してから submit してみると、リセット後のフォーム・データが提出されています。

reset() Method Followed by submit() Method in submit Event https://suika.suikawiki.org/~wakaba/-temp/test/html/form/event/submit-reset-submit

(Firefox, WinIE 6, Opera 8) (名無しさん [sage])

[9] submit の時点でフォーム・データ集合が用意されて、 スクリプトを全部実行し終わってから提出・頁遷移するということでしょうか。 (名無しさん [sage])

[10] >>7-9 ではうっかりしていましたが、 alert を使ったのはやばかったですかね? それのせいで順番が入れ替わることもあるかも。 (名無しさん [sage])

メモ