forms - Angular2 ngForm 不工作

标签 forms angular typescript angular2-forms

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

当我尝试在控制台上写入用户名时,'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);
    }
}

提前致谢。

最佳答案

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

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

关于forms - Angular2 ngForm 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40845178/

相关文章:

html - 在 HTML 中为表格添加行不起作用

javascript - Angular ng serve 产生错误 : NGCC failed

javascript - 使用 RxJS/TypeScript/JavaScript 将行转换为列

javascript - 无法使用 Angular 选择 ngoni 上的所有检查

typescript - 动态过滤 rxjs 流

javascript - TypeScript - 如何覆盖 lib.d.ts 中的声明?

.net - Excel 中的 WinForms (2002) 和附加组件

html - 如何将表格分成两列?

sequelize.Model.Update 的 Typescript 接口(interface)不正确?

jquery - 我可以使输入表单可排序吗?