我有一个 Angular 表单,其中有两个按钮标签。一键提交表单ng-click
。另一个按钮纯粹用于导航ng-click
。然而,当单击第二个按钮时,AngularJS 会导致页面刷新,从而触发 404。我在函数中放置了一个断点,它正在触发我的函数。如果我执行以下任何操作,它就会停止:
- 如果我删除
ng-click
,该按钮不会导致页面刷新。
- 如果我注释掉函数中的代码,则不会导致页面刷新。
- 如果我将按钮标签更改为锚标签(
<a>
) with href=""
,那么就不会引起刷新。
后者似乎是最简单的解决方法,但为什么 AngularJS 甚至在我的函数之后运行任何导致页面重新加载的代码?看起来像一个错误。
表格如下:
<form class="form-horizontal" name="myProfile" ng-switch-when="profile">
<fieldset>
<div class="control-group">
<label class="control-label" for="passwordButton">Password</label>
<div class="controls">
<button id="passwordButton" class="secondaryButton" ng-click="showChangePassword()">Change</button>
</div>
</div>
<div class="buttonBar">
<button id="saveProfileButton" class="primaryButton" ng-click="saveUser()">Save</button>
</div>
</fieldset>
</form>
这是控制器方法:
$scope.showChangePassword = function() {
$scope.selectedLink = "changePassword";
};
如果你看一下W3C规范,看起来显而易见的尝试就是用type='button'
当你不希望他们屈服时。
特别要注意的是它说的地方
未指定 type 属性的按钮元素与类型属性设置为“submit”的按钮元素表示相同的内容
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)