2017-08-01 16 views
1

私が送信として定義されていないボタンを押すと、submit(formAccessor)ボタンが機能します。送信ボタンとして定義していないため、この動作が不思議です。実際にフォームに別のボタンを追加すると、それも送信されます。フォームにボタンを入れて別の動作を与えるにはどうすればいいですか? thaksどのように角度がボタンが送信ボタンであることを知っていますか

<form #formAccessor="ngForm" on-ngSubmit="submit(formAccessor)"> 
    <div class="form-group"> 
     <label for="id">ID </label> 
     <input ngModel name="id" id="id" #idAccessor="ngModel" type="text" class="form-control"> 

    </div> 
    <div class="form-group"> 
     <label for="dataModelVersion">Data Model Version </label> 
     <input id="dataModelVersion" type="text" class="form-control"> 
    </div> 
    <div class="form-group"> 
     <label for="orderId">orderId </label> 
     <input id="orderId" type="text" class="form-control"> 
    </div> 


    <button class="btn btn-primary pull-right">Submit</button> 
</form> 
+5

私はタイプ=「提出」 '' https://stackoverflow.com/questions/9643806/form-is-submitted-when-i-click-on-the-にフォームのデフォルト値内のボタンを推測しますbutton-in-form-how-to-avoid-this- –

+2

この動作は角度固有ではありません。 –

答えて

1

このような角度関係はありません。それは基本的にあなたのブラウザが独自のボタンをどのようにintrepretsするかです。 hereを見ることができますが、Angularがなくてもボタンは送信ボタンと同じように動作します。

<form> 
    <input required> 
    <button> 
    Click 
    </button> 
</form> 

しかし、そのボタンにタイプを指定した場合、それは必要なように動作します。したがって、フォームbuttonを割り当てることができます。これは、hereのように、アクションaction/submitをトリガしません。

<form> 
    <input required> 
    <button type="button"> 
    Click 
    </button> 
</form> 
関連する問題