0
我正在建立一個反應形式的Angular與3提交按鈕。檢測輸入返回與反應形式按鈕單擊
<form [formGroup]="sessionForm" (submit)="submitSession($event)">
<div class="row">
<label>
<span>Title</span>
<input type="text" formControlName="title" [class.required]="markRequired.indexOf('title') >= 0">
</label>
</div>
... more fields ...
<div *ngIf="!admin" class="row">
<button type="submit" (click)="setBtnClicked('submit')" class="btn btn-primary">Submit</button>
</div>
<div *ngIf="admin" class="row">
<button type="submit" (click)="setBtnClicked('save')" class="btn btn-primary">Save</button>
<button type="submit" (click)="setBtnClicked('approve')" class="btn btn-success">Save and approve</button>
<button type="submit" (click)="delete($event, false)" [hidden]="confirmDelete" class="btn btn-danger">Delete</button>
<button type="submit" (click)="delete($event, true)" [hidden]="!confirmDelete" class="btn btn-danger">Are you sure?</button>
</div>
<div [hidden]="!showSuccess" class="msgBox msgBox-success">Your session has been submitted! It will need to be approved before it is listed.</div>
</form>
上的每個按鈕,我已經附上(click)
處理程序觸發功能來跟蹤哪個按鈕被擊中:
setBtnClicked(value) {
this.btnClicked = value;
}
然而,當有人打在輸入的回報,我注意到, this.btnClicked
的值等於表單中的第一個按鈕。
我不知道如何當用戶點擊返回軌道或者當他們按下按鈕,這樣我就可以有不同的反應,或者如果我的結構是錯誤的。我希望在任何提交時觸發submitSession
函數,無論是返回還是按鈕。我曾嘗試添加一個formControl到按鈕,但失敗了。
我試圖從提交事件中檢查'keyCode',但它出現未定義。此外,點擊和'submitSession'運行(點擊第一個,然後是'submitSession')。 – RhoVisions
您是否嘗試從按鈕中刪除'submitSession()'以及'type =「submit」'? – MichaelSolati
我會給它一個鏡頭,但我認爲兩者在語義上是正確的?這不是Angular的目標嗎? – RhoVisions