In order to use ngForm, we need to import the Form module ni app.module.ts and your component.
When the submit button is clicked, we have the form to call function logForm(form.value)
.
<form #form="ngForm" (ngSubmit)="logForm(form.value)"> <label>Firstname:</label> <input type="text" name="firstName" ngModel> <br> <label>Lastname:</label> <input type="text" name="lastName" ngModel> <br> <button type="submit">Submit</button> </form>
import { Component, OnInit } from '@angular/core'; import {Form} from "@angular/forms"; @Component({ selector: 'app-my-form', templateUrl: './my-form.component.html', styleUrls: ['./my-form.component.css'] }) export class MyFormComponent implements OnInit { constructor() { } ngOnInit() { } logForm(value: Form) { console.log(value); } }
The following output will print in the console.
Object { firstName: "first name", lastName: "last name" }
Item can be grouped by ngModelGroup, such as:
<form #form="ngForm" (ngSubmit)="logForm(form.value)"> <label>Firstname:</label> <input type="text" name="firstName" ngModel> <br> <label>Lastname:</label> <input type="text" name="lastName" ngModel> <br> <fieldset ngModelGroup="personalInfo"> <label>phone:</label> <input type="text" name="phone" ngModel> <br> <label>Address:</label> <input type="text" name="address" ngModel> </fieldset> <button type="submit">Submit</button> </form>
The result would look like the following on click.
firstName: "first " lastName: "last" personalInfo: {…} address: "my addess, HK" phone: "123456789"