EnterKey押下時のSubmitの抑制
IEだけならここみてすぐに分かりました。
EnterキーでのSubmitを抑止する
FireFoxへの対応がちょっと面倒だったけど動いたので記録しておく。切り分けの方法についてはこちらを参考にさせて頂きました。
FireFoxとIEの差、textとsrcElementに、はまる
/*EnterKey対応 (1)KeyCodeが取れなかった場合はchecodeで対応(FF向け) (2)イベントが発生した箇所のType取得(FF対応で分岐) (3)内容を見てfalse */ function EnterBlock(event) { var event = event || window.event; //KeyCodeの設定 if (event.keyCode != 0) { key = event.keyCode } else { key = event.charcode } //Typeの取得 if (document.all) { type = event.srcElement.type; } else { type = event.target.type; } //SubmitとTextArea以外の場合は抑止 if (key == 13) { if (type != 'submit' && type != 'textarea') { event.keyCode = 0; event.charcode = 0; return false; } } }
こちらはMasterPageにformがあるので、CodeBehindのPage_Loadに記述
this.form1.Attributes.Add("onkeypress", "return EnterBlock(event)");