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

问题描述

我要通过按Enter键提交表单,而不用单击更新按钮,一旦编辑了任何字段并且启用了更新按钮,如下图所示。

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

enter image description here

情况:现在在 Emp Code (Emp代码)字段上编辑表单,并突出显示该表单,因此在按Enter键时,应提交此表单。

下面是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>

在此先感谢您的帮助。

解决方法

您应该能够绑定到-Dquarkus.container-image.registry=registry.gitlab.com 事件:

ngSubmit

要触发此操作,您需要在表单内的某个位置提交一个提交类型元素,尽管该元素可能是隐藏的:

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

或者,如果您愿意,也可以仅绑定到表单上的<input [style.display]="'none'" type="submit"> 事件:

keyup.enter

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...