角度错误:如果在表单标记中使用了ngModel,则必须设置name属性或

时间:2018-02-03 19:31:57

标签: javascript angular

关于错误有许多类似的问题和答案:如果在表单标记中使用了ngModel,则必须设置name属性或者必须将表单控件定义为“独立的”#39;在ngModelOptions中。解决方案是定义 name 属性,如消息中所述。但这对我没有用。我的app.component.html中有下一个标记:

<form id="form1" name="form1" #form="ngForm">
  <div class="form-group">
    <input id="input1" name="input1" [(ngModel)]="metaScript" />
    ...

我仍然在app.component.html第3行中出现错误:如果在表单标记中使用了ngModel,则必须设置name属性或...

2 个答案:

答案 0 :(得分:4)

发生此错误是因为下面的html标记中还有一行没有名称属性。

<form id="form1" name="form1" #form="ngForm">
  <div class="form-group">
    <input id="input1" name="input1" [(ngModel)]="metaScript" />
    ... 
    <input id="input2" [(ngModel)]="metaScriptMessage"/>
  </div>
</form>

但是浏览器仍然报告第一行有错误。如果你在这两者之间有其他元素,那么很难发现错误的根源。 enter image description here

答案 1 :(得分:0)

首先请将FormsModule注入app.module.ts

import { FormsModule }   from '@angular/forms';
@NgModule({
  imports: [
    FormsModule,
    .......
  ]
})

现在在您的模板app.component.html文件

<form id="form1" name="form1" #form="ngForm">
  <div class="form-group">
    <input type="text" id="input1" name="input1" [(ngModel)]="metaScript" />
    ...

注意:请求您输入type =&#34; text&#34;在你的输入元素中如上