【问题标题】:Angular2 ngForm not workingAngular2 ngForm 不工作
【发布时间】:2017-04-12 05:26:56
【问题描述】:

我正在尝试做一个登录表单组件,但我无法读取表单数据。

当我尝试在控制台上写入用户名时,'undefined' 会写入。

一切看起来都很正常,但表单数据并没有进入组件。

下面是html代码:

<form (ngSubmit)="onSubmit(myForm)"
      #myForm="ngForm"
      class="form-signin">
    <div class="form-group">
        <h2 class="form-signin-heading">Please sign in</h2>
        <input type="text"
               id="inputUsername"
               name="inputUsername"
               class="form-control"
               placeholder="User Name"
               required>
        <input type="password"
               id="inputPassword"
               name="inputPassword"
               class="form-control"
               placeholder="Password" >
    </div>
    <button class="btn btn-lg btn-primary btn-block"
            type="submit">Sign in</button>
</form>

组件 ts:

@Component({
    selector: 'signin',
    templateUrl: './signin.component.html',
    encapsulation: ViewEncapsulation.None
})
export class SigninComponent implements OnInit{
    constructor(){}

    ngOnInit(){ }

    onSubmit(form: NgForm){
        console.log(form.value.inputUsername);
    }
}

提前致谢。

【问题讨论】:

  • 我认为样式与问题无关:D
  • 好的,我删除了样式。

标签: forms angular typescript angular2-forms


【解决方案1】:

您需要将ngModel 指令添加到每个表单字段。这会将表单字段注册到您的表单中。

    <input type="text"
           id="inputUsername"
           name="inputUsername"
           class="form-control"
           placeholder="User Name"
           ngModel
           required>

【讨论】:

【解决方案2】:

在 appmodule.ts 中添加 FormsModule

从“@angular/forms”导入 { FormsModule };

进口:[ 表单模块, ]

【讨论】:

  • 您的答案可以通过添加有关代码的作用以及它如何帮助 OP 的更多信息来改进。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-23
  • 2017-03-03
  • 2016-08-15
  • 2017-04-29
  • 2017-09-20
  • 1970-01-01
相关资源
最近更新 更多