javascript - Angular Material : Get value out of form

标签 javascript angular forms angular-material

<分区>

我正在 Angular 上编写一个注册页面。两个单选按钮用于选择您是男性还是女性。此外,您还可以输入更多数据,例如姓名和地址。单击页面末尾的按钮应发送注册。

我怎样才能做到最好,在我的 Typescript 文件中获取值?

以下是我要使用的组件:

输入选择单选按钮日期选择器

https://material.angular.io/components/input/overview

https://material.angular.io/components/select/overview

https://material.angular.io/components/radio/overview

https://material.angular.io/components/datepicker/overview

最佳答案

您可以使用 Angular's Reactive Forms ,像这样:

应用模块:

import { ReactiveFormsModule } from '@angular/forms';

@NgModule({
  imports: [
    // other imports ...
    ReactiveFormsModule
  ],
})
export class AppModule { }

您的组件:

import {FormControl, FormGroupDirective, FormGroup, NgForm, Validators} from '@angular/forms';
...
export class SoknadsskjemaComponent implements OnInit {
...

  myForm = new FormGroup({
    gender: new FormControl('', [
      Validators.required
    ]),
    name: new FormControl('', [
      Validators.required,
      Validators.minLength(2)
    ]),
    birthdate: new FormControl('', [
      Validators.required,
    ]),
  });

    onSubmit() {
      // Do somthing
      // You can get the values in the forms like this: this.myForm.value
    }
}

你的组件 html

    <form autocomplete="on" [formGroup]="myForm" (ngSubmit)="onSubmit()">
        <mat-radio-group #rGroup class="radio-group" formControlName="gender">
            <mat-radio-button class="radio-button" value="female" radioGroup="rGroup">Female</mat-radio-button>
            <mat-radio-button class="radio-button" value="male" radioGroup="rGroup">Male</mat-radio-group>
        </mat-radio-group>

        <mat-form-field appearance="outline" class="full-width">
            <mat-label>Birthdate</mat-label>
            <input matInput [matDatepicker]="picker" formControlName="birthdate" autocomplete="bday">
            <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
            <mat-datepicker touchUi startView="multi-year" [startAt]="startDate" #picker></mat-datepicker>

          </mat-form-field>

          <mat-form-field appearance="outline" class="full-width">
            <mat-label>Name</mat-label>
            <input matInput type="text"  formControlName="name" name="given-name" autocomplete="given-name">
          </mat-form-field>

          <button mat-stroked-button type="submit" [disabled]="!myForm.valid" style="width:100%">Submitt</button>
     </form>

关于javascript - Angular Material : Get value out of form,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52916984/

相关文章:

javascript - 获取文本区域值并添加 br 和空格 - JQuery

使用间隔的javascript开关

Angular 2 : Most efficient way of using helper functions in components

复选框的 Javascript OnChange

javascript - 从变量设置动态 javascript 函数名称

javascript - 以 Angular 形式设置键和值

arrays - 使用 Angular2 中的接口(interface)将对象插入新数组

php - 类似PHP表单代码: First throws error if $_REQUEST is empty,秒不

html - 以相同方式对齐 &lt;input&gt; 和 <option> 标签

javascript - 无法读取 Protractor 中元素的未定义属性 'click'