[英]Assigning value to input manually does not effect 'ngForm.value' after submission in Angular 7
[英]angular 2 - ngForm.value does not have ngControl members
我有以下表格:
import { Component } from '@angular/core'
@Component({
selector: 'form1',
template: `
<div >
<form (ngSubmit)="onSubmit(f)" #f="ngForm">
<input ngControl="email" type="text" id="mail" required>
<input ngControl="password" type="text" id="password" required>
<input ngControl="confirmPass" type="text" id="confirmPass" required>
<button type="submit">Submit </button>
</form>
</div> `
})
export class Form1Component{
onSubmit(form:any){
console.log(form.value);
}
}
問題是form.value
只有一個空對象,沒有ngControl
指令的值的ngControl
。 我想念什么嗎?
從angular.io docs開始 ,需要在表單中定義name
屬性:
在內部,Angular創建FormControl實例,並使用Angular附加到
<form>
標記的NgForm
指令注冊它們。 每個FormControl
都以您分配給name
屬性的名稱注冊。
因此,沒有名稱,就不會將其視為表單控件。 另外我們需要使用ngModel
:
NgForm指令通過附加功能補充了form元素。 它使用
ngModel
指令和name
屬性保存為元素創建的控件
因此,總的來說,您的模板應如下所示:
<form (ngSubmit)="onSubmit(f)" #f="ngForm">
<input type="text" id="mail" name="email" ngModel required>
<input type="text" id="password" name="password" ngModel required>
<input type="text" id="confirmPass" name="confirmPass" ngModel required>
<button type="submit">Submit </button>
</form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.