2016-11-05 13 views
5

Ben açısal2 form yapıyorum ve formu göndermek için birden çok düğüme sahip olmak istiyorum, örneğin, "Kaydet" ve "Kaydet ve kapat".Angular2 formunda çoklu gönderme düğmeleri

Basit düğmeler üzerinde tıklama eylemi kullanmaya çalıştım, ancak form doğrulamasını zorlamak için formu el ile işaretlemek için el ile işaretlemedim.

<form #ticketForm="ngForm" novalidate> 
    <input type="text" id="customerName" required 
     name="customerName" [(ngModel)]="ticket.customerName" 
     #customerName="ngModel"> 
    <div class="tj-form-input-errors" 
     *ngIf="customerName.errors && (customerName.dirty || 
     customerName.touched || ticketForm.submitted)"> 
     <small [hidden]="!customerName.errors.required"> 
       Customer name is required 
     </small> 
    </div> 
    <button type="button" (click)="save(ticketForm)">Save</button> 
    <button type="button" (click)="saveAndClose(ticketForm)">Save and close</button> 
</form> 
+0

Bunun için herhangi bir kod yazdınız mı? – mike510a

+0

Kod örneği ekledim. Ama bence bu örnekte herhangi bir kod örneği olmaksızın soru gayet açık. –

+0

bu yanıtı gözden geçirin ... http://stackoverflow.com/questions/19985344/angularjs-simple-form-submit – mike510a

cevap

0

Benim form doğrulama ateş edeceği düşünüyorum değişiklikleri oluşturmak için abone olabilirsiniz.

Böyle bir şey yapın:

her düğme için tıklama işleyicisi Sonra
this.physicalForm.valueChanges 
    .map((value) => { 
     return value; 
    }) 
    .filter((value) => this.physicalForm.valid) 
    .subscribe((value) => { 
     do what you need with the values here... 
}); 

, kaydetmek veya & güncellemeyi kaydetmek this.physicalForm.valid eğer.