javascript - 我应该在表单上使用 Ng-submit 还是 ng-click?

标签 javascript angularjs

我想知道是否更喜欢在提交按钮上使用 ng-click 还是只在表单上使用 ng-submit?

我的假设是我们应该在所有表单上使用 ng-submit 并在任何非表单的地方使用 ng-click。

我知道下面列出的区别:

  • ng-submit 允许用户在关注 ng-click 不关注的表单时按回车​​键
  • ng-click 可用于任何元素,而 ng-submit 只能应用于表单元素。

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

最佳答案

如果我们希望表单在无效时不被提交,那么我们将在表单本身上使用 ng-submit 指令代替 ng-click 按钮

     <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 从 Controller 调用函数 AddUser。只有当表单有效时才会调用此提交函数,换句话说,表单的所有用户输入都有效。请记住,在这种情况下,如果表单无效,则不会提交 from

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

  1. 即使表单无效,我们也能够提交表单
  2. 对于无效输入,值在 Controller 中设置为未定义

关于javascript - 我应该在表单上使用 Ng-submit 还是 ng-click?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37322971/

相关文章:

javascript - 通过 jQuery 访问 DOM 元素

javascript - 如何模仿 JavaScript 对象或数组中缺失的属性或元素?

javascript - 我应该使用一个组件来使用 ngif 进行编辑和查看,还是将它们分成多个组件?

javascript - Firebase - 将对象推送到嵌套的对象列表中

javascript - 使用 AngularJS 跳过嵌套表单验证

javascript - 如何将非模块(!)JavaScript 导入 Polymer 3.0

javascript - 单击 ng 时重新加载模型

javascript - Google 可视化图表 - 颜色

javascript - AngularJS 中从对象到 ng-repeat 的绑定(bind)指令

javascript - 基于下拉选择的angularJS中的条件模型绑定(bind)