Ionic form fire the function twice when submit

i am using form submit below:

<form [formGroup]="forgetpwdForm" (submit)="doForgetPwdRequest()">
 <ion-item style="border:1px solid #CCCCCC; border-radius:0px;">
  <ion-input [(ngModel)]="forgetpwdData.email" name="email" type="text" formControlName="email" placeholder="{{ 'Forgetpassword.email' | translate }}"></ion-input>
 </ion-item>
 <button ion-button block style="border-radius:0px; background-color:#17B97E;" type="submit" [disabled]="!forgetpwdForm.valid">
  {{ 'Forgetpassword.submit' | translate }}
 </button>      
</form>

And I discover that it fired doForgetPwdRequest() twice when submit the form, anyone have idea?

No we don’t, how does doForgetPwdRequest() look like

 doForgetPwdRequest(){
   this.authService.forgetPwdRequest(this.forgetpwdData).then(data => {
     this.returnData = data;
     if(this.returnData.result=='success'){
      let alert = this.alertCtrl.create({
        title: "Apply Request Successful",
        subTitle:"Please open email's link to change password",
        buttons: [{
          text: 'Ok',
          handler: () => {
             this.navCtrl.pop();
          }
        }]
      });
      alert.present();
     }
   }, (err) => {});
}

well, I have no idea, the problem must be somewhere else

What exactly fires twice? How do you know? There is no console.log in the first line of the method…