Se si desidera utilizzare l'attributo action
di form HTML, è necessario disattivare il comportamento della direttiva NgForm
che cattura l'evento submit
e impedisce che venga propagato. Vedi questa riga: https://github.com/angular/angular/blob/master/modules/angular2/src/common/forms/directives/ng_form.ts#L81.
Per fare che è sufficiente aggiungere l'attributo ngNoForm
al modulo:
<form ngNoForm action="https://www.google.com" target="_blank" method="POST">
<input name="q" value="test">
<button type="submit">Search</button>
</form>
In questo caso, una nuova finestra sarà aperta per vostro modulo di presentazione.
Detto questo, Angular2 affronta le SPA (Single Page Applications) e nella maggior parte dei casi di utilizzo, è necessario rimanere nella stessa pagina quando si invia un modulo. Per tali casi d'uso, è possibile sfruttare l'evento submit
con un pulsante di invio:
<form [ngFormModel]="companyForm" (submit)="onSubmit()">
Name: <input [ngFormControl]="companyForm.controls.name"
[(ngModel)]="company.name"/>
<button type="submit">Submit</button>
</form>
Spero che ti aiuta, Thierry
fonte
2016-02-01 11:50:19
Grande, non ho trovato questo dalla guida del modulo! –