angularjs – Angular JS – 表单上的取消按钮禁止提交表单

前端之家收集整理的这篇文章主要介绍了angularjs – Angular JS – 表单上的取消按钮禁止提交表单前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
考虑一个带有三个按钮的表单:
<form ng-submit="updateUser()">
  <div>Name <input type="text" ng-model="userToEdit.name" /></div>
  <div>
    <button class="btn btn-primary" ng-click="updateUser()">Save</button>
    <button class="btn" ng-click="cancelEdit()">Cancel</button>
    <button class="btn btn-danger" ng-click="deleteUser(userToEdit)"><i class="icon-trash"></i> Delete</button>
  </div>
</form>

当我单击取消时,cancelEdit()被调用,那么updateUser()被调用。我不想要调用updateUser()方法。有没有办法压制这个表单提交(preferebly没有jQuery?)

注意:我仍然希望能够输入并默认保存操作。

对于< button>有一个类型属性默认为提交 – 请参阅 this spec.因此,您窗体中的每个按钮都是提交按钮。您需要指定不应触发表单提交的按钮的按钮类型,如下所示:
<form ng-submit="updateUser()">
  <div>Name <input type="text" ng-model="userToEdit.name" /></div>
  <div>
    <button class="btn btn-primary">Save</button>
    <button type="button" class="btn" ng-click="cancelEdit()">Cancel</button>
    <button type="button" class="btn btn-danger" ng-click="deleteUser(userToEdit)"><i class="icon-trash"></i> Delete</button>
  </div>
</form>

也不需要将提交操作放在ng-click和ng-submit两个方面 – 它将触发双重提交。我建议使用ng提交,因为它捕获表单提交的所有方式,如按ENTER键,不仅单击提交按钮。

希望这可以帮助 :)

原文链接:https://www.f2er.com/angularjs/144985.html

猜你在找的Angularjs相关文章