Angular 2 : ERROR TypeError: Cannot read property 'value' of undefined
Angular 2 : ERROR TypeError: Cannot read property 'value' of undefined
单击“提交”按钮后,浏览器控制台出现以下错误。
在此应用程序中,我试图获取有关以下学生上传代码的信息。
我无法找到为什么在控制台上显示此错误。
我已经正确添加了 formControlName。
组件
import { Component, OnInit, Inject } from '@angular/core';
import { FormGroup, FormControl, Validators, FormBuilder, AbstractControl } from '@angular/forms';
@Component({
selector: 'app-new-record',
templateUrl: './new-record.component.html',
styleUrls: ['./new-record.component.css']
})
export class NewRecordComponent implements OnInit {
myFormGroup: FormGroup;
constructor(private formBuilder: FormBuilder) {
this.myFormGroup = this.formBuilder.group({
name: new FormControl('', Validators.compose([
Validators.required
])),
claz: new FormControl('BCA'),
admissionYear: new FormControl(Validators.compose([Validators.required]))
});
}
ngOnInit() {
}
onSubmit(student) {
console.log('onSubmit called !');
}
}
模板
<form [formGroup]="myFormGroup"
(ngSubmit)="onSubmit(form.value)">
<div class="form-group">
<label for="claz">Class:</label> <select name="claz" formControlName="claz">
<option value="MCA">MCA</option>
<option value="BCA">BCA</option>
<option value="M.Sc">M.Sc</option>
<option value="B.Tech">B.Tech</option>
</select>
</div>
<div class="form-group">
<label for="name">Name:</label> <input type="text"
class="form-control" id="name" formControlName="name">
</div>
<div class="form-group">
<label for="admissionYear">Admission Year:</label> <input type="number"
class="form-control" id="admissionYear" formControlName="admissionYear">
</div>
<button type="submit" class="btn btn-default" >Submit</button>
</form>
没有定义form
,而是使用已定义为formGroup
的myFormGroup
(ngSubmit)="onSubmit(myFormGroup.value)"
单击“提交”按钮后,浏览器控制台出现以下错误。
在此应用程序中,我试图获取有关以下学生上传代码的信息。 我无法找到为什么在控制台上显示此错误。 我已经正确添加了 formControlName。
组件
import { Component, OnInit, Inject } from '@angular/core'; import { FormGroup, FormControl, Validators, FormBuilder, AbstractControl } from '@angular/forms'; @Component({ selector: 'app-new-record', templateUrl: './new-record.component.html', styleUrls: ['./new-record.component.css'] }) export class NewRecordComponent implements OnInit { myFormGroup: FormGroup; constructor(private formBuilder: FormBuilder) { this.myFormGroup = this.formBuilder.group({ name: new FormControl('', Validators.compose([ Validators.required ])), claz: new FormControl('BCA'), admissionYear: new FormControl(Validators.compose([Validators.required])) }); } ngOnInit() { } onSubmit(student) { console.log('onSubmit called !'); } }
模板
<form [formGroup]="myFormGroup" (ngSubmit)="onSubmit(form.value)"> <div class="form-group"> <label for="claz">Class:</label> <select name="claz" formControlName="claz"> <option value="MCA">MCA</option> <option value="BCA">BCA</option> <option value="M.Sc">M.Sc</option> <option value="B.Tech">B.Tech</option> </select> </div> <div class="form-group"> <label for="name">Name:</label> <input type="text" class="form-control" id="name" formControlName="name"> </div> <div class="form-group"> <label for="admissionYear">Admission Year:</label> <input type="number" class="form-control" id="admissionYear" formControlName="admissionYear"> </div> <button type="submit" class="btn btn-default" >Submit</button> </form>
没有定义form
,而是使用已定义为formGroup
myFormGroup
(ngSubmit)="onSubmit(myFormGroup.value)"