Skip to content

Angular 2: Form submission canceled because the form is not connected

I have a modal that contains a form, when the modal is destroyed I get the following error in the console:

Form submission canceled because the form is not connected

The modal is added to a <modal-placeholder> element which is a direct child to <app-root>, my top level element.

What’s the correct way to removing a form from the DOM and getting rid of this error in Angular 2? I currently use componentRef.destroy();

Answer

There might be other reasons this occurs but in my case I had a button that was interpreted by the browser as a submit button and hence the form was submitted when the button was clicked causing the error. Adding type=”button” fixed the issue. Full element:

    <button type="button" (click)="submitForm()">