2017-09-21 19 views
0

送信ボタンは「チェック」機能を起動し、ブートストラップモーダルを起動します。しかし、後のことは起こっていない。これは、htmlをtype = "button"に変更すると機能します。送信ボタンでブートストラップモーダルを起動することはできませんか?送信ボタンがモーダルを起動していません

<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

あなたが、ブートストラップJavaScriptとAngular2 +を混合しているようです。私の提案は、ng-bootstrapを使うことです:https://ng-bootstrap.github.io/#/components/modal/examples –

答えて

0

これは、デフォルトでsubmitボタンがページを更新するためです。次のコード行を避けてください。
$event.preventDefault();
これをチェックメソッドの最初の行に追加します。そうすればうまくいくはずです。

+0

何か変わったことが起こります:ページが読み込まれたら、ボタンを2回クリックする必要がありますフォームを提出してください。 – user3646717

+0

あなたのモーダルは、最後のクリックの後に表示されますか? –

0

まず、以下のように、コントロールの送信ボタンとファイアモーダル以外のイベントを作成する必要があります。私はjqueryでそれを呼び出すが、あなたは望むフレームワークを使う。あなたは、このリンクをたどって、角度JSについて

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

は: http://plnkr.co/edit/wfv8P2T1ENg6XkjruzEq?p=preview

+0

$( '#yourModalId')の 'modal'。modal( 'show'); HTMLElementのプロパティとして認識されません。 – user3646717

+0

これはjqueryコードなので、jqueryリンクまたはCDNを添付する必要があります。