提交后如何禁用按钮

时间:2019-01-16 09:54:43

标签: html angular submit disable

我开发了一个添加用户的表单,该表单有效,但是问题是  当连续两次单击按钮提交时,该方法添加两个用户,我希望直接单击后禁用按钮提交(添加)(我使用角度5)

HTML代码:

<form [formGroup]="addfrm"> 
       ...  
         ...
       <div style="text-align:center">
           <button class="btn btn-primary" (click)="processAdd()" [disabled]="addfrm.invalid">add</button>
            <button data-dismiss="modal" class="btn btn-default">cancel</button>
        </div>
     </form>

2 个答案:

答案 0 :(得分:0)

您可以尝试使用 ngForm指令

<form [formGroup]="addfrm" #myform="ngForm">

  <div style="text-align:center">
    <button class="btn btn-primary" (click)="processAdd()" [disabled]="myform.submitted">add</button>
    <button data-dismiss="modal" class="btn btn-default">cancel</button>
  </div>

</form>

答案 1 :(得分:0)

您可以在组件中定义一个字段,并在提交时将其设置为true。

<button class="btn btn-primary" (click)="processAdd()" [disabled]="addfrm.invalid || submitted">add</button>

在组件内

export class MyComponent {
    submitted = false;
    ...

    processAdd() {
        this.submitted = true; 
        this.someService.post(this.addForm).subscribe(result => {
            this.submitted = false; // reset it on response from server
        });
    }

}