【发布时间】:2017-01-23 11:00:39
【问题描述】:
我有一个带有只读输入的模板驱动表单。当用户点击输入时,会出现一个日期选择器。用户选择日期后,输入字段将填充信息。但是,当我单击提交时,该输入中的数据不存在。其他领域虽然有效。所以在这种情况下,我得到 p> 的输出
控制台输出:
Object {refNumber: "215170", date: ""}
HTML 代码:
<form [formGroup]="myForm" novalidate (ngSubmit)="onSubmit(myForm)">
<div class="form-group">
<label>Reference Number</label>
<input type="text" class="form-control" formControlName="refNumber">
</div>
<!--Date Picker-->
<input (focus)="toggleDatePicker(true)" readonly value={{date}} class="form-control" formControlName="date" />
<date-picker *ngIf="showDatePicker" [initDate]="date" (onDatePickerCancel)="toggleDatePicker($event)" (onSelectDate)="setDate($event)"
ngDefaultControl></date-picker>
</form>
组件代码
export class AppComponent implements OnInit {
public myForm: FormGroup;
constructor(private _fb: FormBuilder) { }
ngOnInit() {
this.myForm = this._fb.group({
refNumber: ['', [Validators.required, Validators.minLength(5)]],
date: [''],
});
}
onSubmit(formOutput: FormGroup) {
console.log(formOutput.value);
alert('Submit this data to database')
}
// Date TimePicker
private date: any;
private showDatePicker: boolean;
// Date Pciker
toggleDatePicker(status: boolean): void {
this.showDatePicker = status;
}
setDate(date: any): void {
this.date = date;
}
}
---------更新-------------- 我创建了一个新项目只是为了复制这个问题。问题仍然存在。这是该项目中正在发生的事情的视频。对我来说,输入值似乎只有在我输入内容时才会更新。任何硬编码的值,或者在这种情况下,传入的日期,都不会更新幕后的实际输入值?
【问题讨论】:
标签: javascript forms angular