技術メモ(主に自分向け)

短期記憶の自分向けの技術メモです。

テキストボックス内でEnterキーを押した場合にエラー画面に遷移する

html内にあるテキストボックスに何かしら値を入力した後、
Enterキーを押すとエラーが画面に遷移してしまう。
Enterキーを押すと確定ボタンを押した時と同様の動きにしたい。


(例)
テキストボックスに7桁数字を入力して確定ボタンを押す。
入力した際に確定ボタンではなくEnterキーを押すことも可能。


コンポーネント

<form action="" id="test1">
 <input id="test2" class="xxx" name="test2name" type="text" value="" placeholder="未入力の際にグレーで表示される内容" maxlength="最大入力値" pattern="^[0-9]{7}$"/>
 <button id="test3" class="xxx" type="submit" onclick="{!c.onClicked}">確定</button>
</form>


javascript

onClicked:function(component, event, helper){
 var inputVal = document.getElementById('test2').value;
 var pattern = "^[0-9]{7}$";
 // 入力値チェック
 if (inputVal.match(pattern)) {
  // 処理
 }
 else {
  // 処理
 }

 // Enterキーを押した時に画面リロードを行わない
 const testEvent = document,querySelector(#test1);
 testEvent.addEventListener('submit', (event) => {
  event.stpoPropagation();
  event.preventDefault();
 });
}