differences between ng-submit and ng-click differences between ng-submit and ng-click angularjs angularjs

differences between ng-submit and ng-click


The ngSubmit directive binds to the submit event in the browser, which is fired when a form is submitted.

From MDN:

Note that submit is fired only on the form element, not the button or submit input. (Forms are submitted, not buttons.)

So you might use it to submit a user sign-up form, or something like that.

On the other hand, the ngClick directive can apply to any kind of element.

From source:

The ngClick directive allows you to specify custom behavior when an element is clicked.

Use it to allow your user to interact with your page in some way other than submitting a form. Maybe to click on a 'previous' or 'next' pager button, or maybe a map or something.


Angular prevents the default action (form submission to the server) unless the element has action, data-action, or x-action attributes specified.So when using angular with forms without these atributes ng-click and ng-submit can be used to specify which javascript method to call.In either call you can get all input values in a scope because of two-way data binding property of angular. Could you use an ng-click in place of all ng-submits? Would this cause any problems?
it can be used but when using ng-click it does not take html input attributes (like required,min-max,maxlength) into account and executes method body immediately.


My favorite reason for using ng-submit is that it allows you to press the <Enter> key while focused on a form input etc. and the form will submit. (Assuming of course that you have a button of type="submit" in the form.)

Its more keyboard friendly and accessibility friendly than having ng-click on a button, because with ng-submit, a user can click on the submit button or they can press <Enter>.