多次单击提交按钮时,angular4 ngSubmit会触发多次?

时间:2018-08-21 12:53:49

标签: angular

我的申请表中有多种形式,

当用户以任何形式多次单击提交按钮时,记录也多次保存在数据库中吗?

我尝试让加载程序单击提交,但是在加载程序显示用户多次单击提交之前?

1,这是我的表单html:

<form name="form" (ngSubmit)="f.form.valid && createUpdateTenantUser()" #f="ngForm" novalidate>
<div>
**Have some form field**
</div>
<button class="btn btn-warning primary-action-btn" *ngIf="isCreate">Save User</button>
</form>

2,这是我的组件文件:

  private createUpdateTenantUser() {
  this.spinner.show();
  this.objDataService.PostData(Controller.AdminController, 
  Method.CreateUpdateTenantUser,
  this.objUserModel)
  .subscribe((data) => {
   if (data === true && data != null) {           
        this.router.navigate(['/Home/ManageTenants/UsersView']);
      }
    this.spinner.hide();
  });

}

1 个答案:

答案 0 :(得分:0)

按钮的默认行为是type="submit"

您应将按钮设置为type="button"(click) ="submit1()"

或制作单独的表格:

<form (ngSubmit)="submit1()">
 <button type="submit">submit</button>
</form>

<form (ngSubmit)="submit2()">
<button type="submit">submit</button>
</form>