1. ホーム
  2. angular

[解決済み] Angular 2 テンプレート駆動型フォームで入力が送信されないようにする

2023-03-04 14:55:49

質問

テンプレート駆動型ブループリントを使用したフォームがあるので、以下のようなものがあります。

<form #myForm="ngForm" ngSubmit="save(myForm.value, myForm.isValid)">
  <input #name="ngModel" [(ngModel)]="name">
  <button type="submit">Submit form</button>
</form>

さて、ENTER でフォームが送信されないようにするにはどうしたらよいでしょうか。フォーム内部のカスタムENTERの動作に干渉しますし、入力で誤ってENTERを押してしまった場合にも迷惑がかかります。

探し回って、古いAngular 1の回答や標準的なJavaScriptのものを見つけましたが、Angular 2にはこのようなものがすでに組み込まれているはずだと感じていますが、見つけられませんでした。

そうでない場合、これを達成するための最良の方法は何でしょうか?

どのように解決するのですか?

のような簡単なものを使えばいいことがわかりました。

<form (keydown.enter)="$event.preventDefault()"></form>

ENTERでフォームが送信されないようにするため。