angular - 多次单击提交按钮时,angular4 ngSubmit 会触发多次?
问题描述
我的申请中有多个表格,
当用户以任何形式多次单击提交按钮时,记录是否也多次保存在数据库中?
我尝试在提交单击时加载加载程序,但在加载程序显示用户多次单击提交之前?
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();
});
}
解决方案
按钮的默认行为是type="submit"
您应该将按钮设置为type="button"
和(click) ="submit1()"
或制作单独的表格:
<form (ngSubmit)="submit1()">
<button type="submit">submit</button>
</form>
<form (ngSubmit)="submit2()">
<button type="submit">submit</button>
</form>
推荐阅读
- python - Pandas: Is there anyway to fill Nan's in a column with continuous dates
- c++ - 这个表达式是什么意思:bool(__args...)
- circleci - 如何使用circleci仅构建主分支
- python - Python 3,在多列中格式化字典的打印输出(如格式化表)
- javascript - 从获取响应中读取标头
- sql - DATEDIFF between dates based on business hour (8 am - 5 pm) instead of total hours or days
- networking - 从正弦方程中找出振幅
- python - 如何在矩阵numpy中找到前N个不同的行
- tensorflow - TensorFlow 自定义损失馈送
- javascript - Regex Issues - Trying to turn general number into currency