【发布时间】:2025-11-26 17:55:02
【问题描述】:
注意:它应该与the new forms API!一起使用
是否可以提交没有任何元素绑定的原始表单?
一个例子:
<div class="form-mantle">
<form (ngSubmit)="onSubmitForm1(f1.value)" #f1="ngForm">
<input ngControl="name1" name="name1" type="text" required/><br/>
<input ngControl="text1" name="text1" type="text" required/><br/>
<button class="btn btn-primary" [disabled]="!f1.form.valid">Next </button>
</form>
</div>
<pre>
{{ form1 | json }}
</pre>
onSubmitForm1() 应该是什么样子,这样我才能得到如下所示的 form1:
{
name1: "Michael Jackson",
text1: "They don't really care about us"
}
我已经为那些想要帮助的人准备了一个复制+粘贴的组件:
import { Component } from '@angular/core';
@Component({
moduleId: module.id,
selector: 'form1',
templateUrl: 'form1.component.html',
styleUrls: ['form1.component.css']
})
export class Form1Component {
form1 : any = {};
constructor() { }
onSubmitForm1 (data?:any) {
// get raw data from form without bindings
this.form1 = data;
console.log("Data", data);
return false;
}
}
编辑:plnkr (http://plnkr.co/edit/nMPTYLGxgWzzJuD9Be3f?p=preview) 中的确切工作副本在 https://github.com/mgechev/angular2-seed 的种子中不起作用。可能是版本问题??
双重绑定没有错误:
<div class="form-mantle">
<form (ngSubmit)="onSubmitForm1(f1.value)" #f1="ngForm">
<input [(ngModel)]="f1.name1" #name="ngModel" name="name1" type="text" required/><br/>
<input [(ngModel)]="f1.text1" #name="ngModel" name="text1" type="text" required/><br/>
<button class="btn btn-primary" [disabled]="!f1.form.valid">Next </button>
</form>
</div>
<pre>
{{ f1.value | json }}
</pre>
【问题讨论】:
标签: forms data-binding angular