我应该在表单上使用Ng-submit或ng-click吗?

时间:2016-05-19 12:16:59

标签: javascript angularjs

我想知道是否首选使用ng-click提交按钮或只是在表单上进行ng-submit?

我的假设是我们应该在所有表单上使用ng-submit,并使用ng-click任何不是表单的内容。

我知道下面列出的差异:

  • ng-submit允许用户在专注于ng-click不
  • 的表单时按Enter键
  • ng-click可用于任何只能将ng-submit应用于表单元素的元素。

我想知道是否有人可以在此列表中添加任何其他内容,因为我想知道角度项目中的规范是什么。

2 个答案:

答案 0 :(得分:3)

如果我们希望表单在无效时不提交,那么我们将在表单上使用ng-submit指令而不是按下ng按钮

     <div class="row">
            <form name="adduser" ng-submit="AddUser(adduser.$valid)">                   
                <div id="name-group" class="form-group-lg">
                    <input type="text"
                           required
                           name="name"
                           ng-model="userfullName"
                           class="form-control"
                           placeholder="Full Name">
                </div>

在ng-submit中,我们使用参数formname。$ valid从控制器调用函数AddUser。只有在表单有效时,或者换句话说,表单的所有用户输入都有效时,才会调用此提交函数。请记住,在这种情况下,如果表格无效,则不会提交

当我们使用ng-click时,即使表单无效,也会提交表单。 ng-click的两个观察结果如下:

  1. 即使表格无效,我们也可以提交表格
  2. 对于无效输入,控制器中的值设置为undefined

答案 1 :(得分:0)

根据经验,对于使用AngularIonic的移动应用,我使用ng-click,因为即使表单无效,移动键盘箭头(Android )或GO(iOS)已启用,无论如何仍将提交。我不得不使用ng-click来避免验证问题。

在网络上,我使用ng-submit只是因为,就像你说的那样,它会在输入时提交。