【发布时间】:2019-01-06 15:22:56
【问题描述】:
我有带有输入字段的“编辑信息”组件。
这是它的 HTML:
<form class="form form-validate" ngNativeValidate
(submit)="editInformationFunction($event)"
#editForm="ngForm">
<div class="row px-3 pb-3">
<!---------------Panel1 ------------------->
<div class="panel panel-primary radius">
<div class="panel-heading border-bottom p-2">
<h3 class="panel-title m-0"><i class="fa fa-user green pl-3"> </i> <span
class="ml-2 font-weight-bold">PERSONAL INFORMATION</span>
</h3>
<span class="pull-right "><i class="glyphicon glyphicon-chevron-down"> </i></span>
</div>
</div>
<div class="panel-body">
<div class="row">
<!--input fields-->
<div class="col-xs-12 col-sm-12 col-md-12 col-md-6 col-lg-6">
<div class="form-group mt-4 ml-4">
<label for="name"><b>NAME<span class="text-danger ml-2">*</span> </b></label>
<input id="name" type="text" class="form-control"
[(ngModel)]="editInformationModel.name"
[ngModelOptions]="{standalone: true}" required>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12 col-md-6 col-lg-6">
<div class="form-group mt-4 mr-4">
<label for="info"><b>BIRTH DATE
</b></label>
<input id="info" type="month" max="{{currentDate}}"
class="form-control"
[(ngModel)]="editInformationModel.birth_date"
[ngModelOptions]="{standalone: true}">
</div>
</div>
</form>
这是我获取服务的 Ts 文件
ngOnInit() {
this.submitService.onFormSubmit().subscribe((submitting) => {
console.log("edit information");
if (submitting) {
console.log("edit information2");
this.editInformationFunction();
}
});
}
这是我的提交服务:
export class SubmitService {
private submitSubject = new Subject<any>();
constructor() {
// this.submitSubject = new Subject<boolean>();
}
submitButton(submitting: boolean): void {
console.log("service1")
this.submitSubject.next(submitting);
}
onFormSubmit(): Observable<any> {
console.log("service2")
return this.submitSubject.asObservable();
}
}
这是我添加按钮的html组件:
<button type="submit" class="btn btn-success btn-sm py-2 border-0"
(click)="submitFunction($event)" *ngIf="userModel.fid ==
householdModel.fid || householdModel.fid == '-1' || userModel.HoH == 1"
><i class="fa fa-save"> </i>
Save Information
</button>
这里是提交表单的函数
submitFunction(e) {
console.log("sidebar")
this.submitService.submitButton(true);
}
我试过e.preventDefault()但不知道是什么原因多次收到成功消息。
我的代码有什么问题吗?需要帮助
【问题讨论】:
-
改成 type="button" 因为你不想原生提交
-
仍然多次收到成功消息@mplungjan
-
你能创建一个stackblitz吗
标签: javascript angular typescript