考虑一个带有三个按钮的表单:
<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.因此,您窗体中的每个按钮都是提交按钮。您需要指定不应触发表单提交的按钮的按钮类型,如下所示:
原文链接:https://www.f2er.com/angularjs/144985.html<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键,不仅单击提交按钮。
希望这可以帮助 :)