Winkel 4 erste form Wert aus modal
Bin ich mit Fragen, um die form Wert von der modalen wenn ich das Formular abschicken. Der log sagt das addMountForm ist nicht definiert. Ich habe die code snippets von meinem html-als auch als Komponente. Ich würde Ihre Hilfe schätzen.
<ng-template #content let-c="close" let-d="dismiss">
<div class="modal-header">
<h3 class="modal-title">Add Mount Point</h3>
</div>
<div class="modal-body">
<form (ngSubmit)="onSubmit()" #addMountForm="ngForm" >
<div class="form-group">
<label class="col-sm-2 control-label text-nowrap"
for="archiveOrigin">Archive Origin</label>
<div class="col-sm-10">
<input type="text" class="form-control" ngModel id="archiveOrigin" name="archiveOrigin" placeholder="Archive Origin"/>
</div>
</div>
<button type="submit" class="btn btn-default">Add</button>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" (click)="c('Close click')">
Close
</button>
</div>
</ng-template>
<div class="page pt-2">
</div>
@Component({
selector: 'mount-point',
templateUrl: './mountpoint.component.html',
styleUrls: ['./mountpoint.component.scss']
})
export class MountPointComponent implements OnInit {
@ViewChild('addMountForm') addMountForm : NgForm;
constructor(
private modalService: NgbModal
){}
open(content) {
this.modalService.open(content).result.then((result) => {
console.log("closed");
}, (reason) => {
console.log("dismissed" );
});
}
onSubmit(){
console.log("adding form values ");
console.log(this.addMountForm);
}
}
- beim senden des Formulars wird der modal-popup schließt sich oder es bleibt immer noch offen?
- Welche version von modal verwenden Sie? Diese ein? github.com/shlomiassaf/angular2-modal
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
[(ngModel)]="value"
stattngModel
allein.Ändern
(ngSubmit)="onSubmit()"
zu(ngSubmit)="onSubmit(addMountForm)"
sowie in der component
<form (ngSubmit)="onSubmit(addMountForm)" #addMountForm="ngForm">
Dein code war richtig. Nur wie die anderen sagen, Sie brauchen, um passieren Ihre form durch die onSubmit-Methode, weil es in eine Vorlage und das ist, warum Sie nicht zugreifen können, um es von @ViewChild.
Plunker
Auch, Sie brauchen nicht zu verwenden, banana-box
[()]
für ngModel wenn Sie nicht möchten, dass für die Bindung.Ich empfehlen, Sie sehen diese Vergleich zwischen template-driven und model-driven design.
1) Import NgForm
2) Ändern Sie Ihre form definition dieses
3) Ändern Sie die Komponente dieser
Dies würde die Arbeit und Sie erhalten ein Objekt auf die Konsole enthält alle Formular-Werte.