【发布时间】:2015-06-27 22:38:51
【问题描述】:
我的用例是我需要根据用户是否更改了表单的值来启用/禁用保存按钮。
当用户点击保存按钮(进行更改后)时,将进行 AJAX 保存,完成后表单需要再次被视为“原始”,但保留当前值。
我认为设置 form.$pristine = true 会起作用,它在单击按钮后第一次这样做,但从那里编辑值不会将 $pristine 设置为 false。
示例插件:http://plnkr.co/edit/VX2R1bdGJFdzH3LEsNnB?p=preview
<form name="submitForm">
<input ng-model="data.first" type="text" />
<input ng-model="data.second" type="text" />
</form>
<button ng-click="saveForm()">Submit</button>
<div>Form pristine: {{submitForm.$pristine}}</div>
//In controller
$scope.saveForm = function(){
$scope.submitForm.$pristine = true;
}
- 还有其他方法吗?
- 如果没有,我需要做什么才能使其正常工作?
【问题讨论】:
-
你试过用
$setPristine()代替$pristine吗? -
这会将值重置为初始值不是吗?
标签: javascript angularjs