2017-09-21 3 views
0

Die Schaltfläche "Senden" sollte die "Check" -Funktion auslösen und auch das Bootstrap-Modal auslösen. Aber das Spätere passiert nicht. Es funktioniert, wenn ich den HTML zu type = "Knopf" ändere. Ist es nicht möglich, das Bootstrap-Modal mit einem Submit-Button auszulösen?Schaltfläche "Senden" löst kein Modal aus

<form [formGroup]="guessForm" (ngSubmit)="check($event)" class="form-group"> 
    <input type="number" formControlName="answer" class="form-control"> 
    <button type="submit" [disabled]="!guessForm.valid" data-toggle="modal" [attr.data-target]="myModal" class="btn btn-success">Check</button> 
</form> 
+0

Es scheint, Sie Bootstrap JavaScript und Angular2 + mischen. Mein Vorschlag wäre, ng-bootstrap zu verwenden: https://ng-bootstrap.github.io/#/components/modal/examples –

Antwort

0

Dies geschieht, weil eine submit Schaltfläche die Seite standardmäßig aktualisiert. Versuchen Sie, es mit der folgenden Codezeile zu verhindern.
$event.preventDefault();
Fügen Sie dies als erste Zeile in Ihre Prüfmethode ein. Es sollte dann funktionieren.

+0

Etwas seltsam passiert: Sobald die Seite geladen ist, muss ich zweimal auf die Schaltfläche klicken, um Übermitteln Sie das Formular. – user3646717

+0

Zeigt Ihr Modal nach dem letzten Klick? –

0

Zuerst müssen Sie ein Ereignis als Steuerelement Schaltfläche "Senden" und feuern modal wie unten setzen. Ich rufe es mit jQuery, aber Sie verwenden Ihr gewünschtes Framework.

<input type="submit" value="submit" onclick = "foo();"/> 
<script> 
    function foo(){ 
     $('#yourModalId').modal('show'); 
    } 
</script> 

Für Winkel JS Sie diesem Link folgen können: http://plnkr.co/edit/wfv8P2T1ENg6XkjruzEq?p=preview

+0

'modal' in $ ('# yourModalId') modal ('show'); wird nicht als eine Eigenschaft des HTMLEelements erkannt. – user3646717

+0

das ist jquery code .. wenn Sie es verwenden, müssen Sie jquery link oder CDN anhängen:

Verwandte Themen