これは連絡フォームの例です。これを確認してください。
HTMLファイル
<form (ngSubmit)="contactSubmit()" #contactForm="ngForm">
<div class="form-group">
<label for="exampleInputEmail1">Name</label>
<input type="text" class="form-control" placeholder="Name" required ngControl="name" #name="ngForm" [(ngModel)]="cForm.name">
</div>
<div class="form-group">
<label for="exampleInputEmail1">Email address</label>
<input type="email" class="form-control" placeholder="Email" required ngControl="email" #email="ngForm" [(ngModel)]="cForm.email">
</div>
<div class="form-group">
<label for="exampleInputEmail1">Message</label>
<textarea class="form-control" placeholder="Message" required ngControl="message" #message="ngForm" [(ngModel)]="cForm.message" ></textarea>
</div>
<button type="submit" class="btn btn-default" [disabled]="!contactForm.form.valid">Submit</button>
<button type="button" class="btn btn-default" (click)="newcForm()" >New Form</button>
</form>
TSファイル
import {Component} from 'angular2/core';
import {NgForm} from 'angular2/common';
@Component({
selector: 'my-app',
providers: [],
templateUrl: 'contact-us.component.html',
directives: []
})
export class App {
public cForm = new contactForm('','','');
submitted = false;
active = true;
contactSubmit(){
this.submitted = true;
}
newcForm(){
this.cForm = new contactForm('','','');
this.active = false;
setTimeout(()=> this.active=true, 0);
}
}
export class contactForm {
constructor(
public name: number,
public email: string,
public message: string
) { }
}
は、なぜあなたは単に '使用しないplunker例のClick here!myForm.valid '? – micronyks
@micronyks、そうでなければなりません!myForm.valid || myForm.dirty。あなたは '[disabled] ="!(myForm.valid || myForm.dirty) "を' '(' ...)にラップしようとしたのですか? – uksz
を保存できませんでした。 '... – micronyks