如何通过在 Angular Material 中的表单的任何字段中按 Enter 键来提交表单?

How to submit a form by pressing Enter Key from any field in the form in Angular Material?

我想在编辑任何字段并启用更新按钮后按回车键提交表单,而不是单击更新按钮,如下图所示。

此更新表单是一个对话框,单击 table 行上的编辑功能即可打开。

案例:现在在 Emp Code 字段编辑表单并突出显示,因此单击回车键后应提交此表单。

下面是 HTML.

中更新表单的代码示例
<mat-card-content>
    <form class="example-form" [formGroup]="docForm">
      <table>
        <tr>
          .
          .
          <td>
            <mat-form-field appearance="outline">
              <mat-label>Emp Code</mat-label>
              <input matInput name="empCode" formControlName="empCd" maxLength = "4" >
            </mat-form-field>
          </td>
         .
         .
       </tr>
      </table>
    </form>
</mat-card-content>

<button mat-raised-button style="width: 95px;" color="primary" [disabled]='docForm.invalid || !docForm.dirty (click)="update()"> Update </button>

我尝试了一些方法,但没有按预期工作。

 <button mat-raised-button (keyup.enter)="!($event.target.tagName == 'TEXTAREA' || $event.target.tagName == 'BUTTON')" 
  style="width: 95px;" color="primary" [disabled]='docForm.invalid || !docForm.dirty' (click)="update()"> Update </button>

提前感谢您对此提供的任何帮助。

您应该能够绑定到 ngSubmit 事件:

<form class="example-form" [formGroup]="docForm" (ngSubmit)="docForm.valid && docForm.dirty && update()">

要触发此操作,您需要在表单中的某处添加一个提交类型元素,尽管它可能是隐藏的:

<input [style.display]="'none'" type="submit">

或者如果您愿意,您可以只绑定到表单上的 keyup.enter 事件:

<form class="example-form" [formGroup]="docForm" (keyup.enter)="docForm.valid && docForm.dirty && update()">