入力フォームを作成していて、どうしてもキーボードのEnterキーを押して間違って送信することがありました。
そこで、Enterキーでの入力で送信をしないようにJavascriptで制御します。
コードは以下のとおりです。
function NoEnter(evt){
evt = (evt) ? evt : event;
var charCode=(evt.charCode) ? evt.charCode :
((evt.which) ? evt.which : evt.keyCode);
if ( Number(charCode) == 13 || Number(charCode) == 3) {
return false;
} else {
return true;
}
}
function NoSendEnter(formName) {
var elements = document.forms[formName].elements;
for (var j=0; j < elements.length; j++) {
var e = elements[j];
if (e.type == "text"){
e.onkeypress=NoEnter;
}
}
}
実際のフォームには次のように埋め込みます。
<form name="form1">
~入力項目~
<input type="text" name="text1">
</form>
<script>
NoSendEnter('form1');
</script>