<form class="form-horizontal" name="form" (ngSubmit)="!f.form.invalid && staffDetails(model)" #f="ngForm" novalidate>
<div class="form-group"><button [disabled]="f.invalid" *ngIf ="buttonSave" class="btn btn-info">Save</button></div>
点击提交按钮后,重新提交未获取值时不刷新页面
答案 0 :(得分:2)
reset
将清除整个表单并将其状态移回原始状态(不进行任何验证),而resetForm
仅清除值而不更改状态。 Source
取决于需要做什么
html文件
<form #f="ngForm" (ngSubmit)="onSubmit(f)">
ts文件
protected onSubmit(f: NgForm): void {
// code here
f.resetForm(); or f.reset();
}
将定义为f
的表单实例传递给submit
函数,并进行重置
Source
答案 1 :(得分:1)
使用reset()
尝试
this.myform.reset();
答案 2 :(得分:1)
在使用模板驱动的表单时,请尝试此操作。
使用(ngSubmit)
事件来处理表单提交事件。并将表单作为参数传递给事件处理程序。 (ngSubmit)="onFormSubmit(f)
在您的component.html
中 <form class="form-horizontal" name="form" (ngSubmit)="onFormSubmit(f)" #f="ngForm" novalidate>
在您的组件中。
public onFormSubmit(ngForm: ngForm): void {
// !f.form.invalid && staffDetails(model)
ngForm.form.reset();
}
答案 3 :(得分:0)
答案 4 :(得分:0)
答案 5 :(得分:0)
HTML组件
在已添加的表单标签中添加#f =“ ngForm”
<form class="form-horizontal" name="form" (ngSubmit)="!f.form.invalid
&& staffDetails(model)" #f="ngForm" novalidate>
<!-- form inputs -->
</form> <!-- form closed>
逻辑组件,即TS文件
import { ViewChild } from '@angular/core';
@ViewChild('f') myForm; //feth reference of form using ViewChild property
声明后,我们可以使用重置功能重置表单
staffDetails(data){
this.myForm.resetForm(); //now the form is reset
}
此功能的工作模块:-https://angular-xtzntk.stackblitz.io/
答案 6 :(得分:0)
要在提交时重置完整表单,可以在Angular中使用reset()。下面的示例在Angular 8中实现。下面是一个“订阅”表单,其中我们将电子邮件作为输入。
<form class="form" id="subscribe-form" data-response-message-animation="slide-in-left" #subscribeForm="ngForm"
(ngSubmit)="subscribe(subscribeForm.value); subscribeForm.reset()">
<div class="input-group">
<input type="email" name="email" id="sub_email" class="form-control rounded-circle-left"
placeholder="Enter your email" required ngModel #email="ngModel" email>
<div class="input-group-append">
<button class="btn btn-rounded btn-dark" type="submit" id="register"
[disabled]="!subscribeForm.valid">Register</button>
</div>
</div>
</form>
官方文档:https://angular.io/guide/forms#show-and-hide-validation-error-messages
答案 7 :(得分:-1)
角度:8.2.11
在模板中:HTML
<form #f="ngForm" [formGroup]="postForm" (keydown.enter)="$event.preventDefault()" (ngSubmit)="onSubmit(f)">
在组件中:打字稿
async onSubmit(f: NgForm) {
f.reset();
}