如何得到的领域,使形式肮脏的角度
How to get field that made form dirty in angular?
本文关键字:何得 更新时间:2023-09-26
有什么方法可以知道Angular中的哪个字段使表单变脏吗?我有一个"自动保存"指令,它检查表单内部是否有任何更改,并相应地保存(通过服务器请求),代码如下:
app.directive 'nxAutoSave', ($timeout) ->
return {
scope: {
nxError: '='
nxAutoSave: '&'
}
require: ["^form"]
link: (scope, element, attrs, ctrls) ->
dirtyElement = null
$formCtrl = ctrls[0]
savePromise = null
scope.$watch ->
if $formCtrl.$valid and $formCtrl.$dirty
$timeout.cancel savePromise if savePromise
savePromise = $timeout(->
savePromise = null
# Still valid?
if $formCtrl.$valid
scope.nxAutoSave()
$formCtrl.$setPristine()
return
, 1100)
return
scope.$watch 'nxError', (newVal, oldVal) ->
#???
}
该指令监视nxError(用作回调),以了解服务器是否发送了任何错误。在方法内部,我想显示一个带有错误消息的popover,但我需要知道是什么元素使表单变脏,才能激活我的popover。。。
有人有什么建议吗?
表单中的每个命名输入也有一个脏状态。如果在输入元素上放置name属性,则表单上将提供这些元素供您检查。因此,如果你有一个定义为:的表格
<form name="myForm">
<input name="myField" type="text" ng-model="myModel" />
</form>
你会,在范围内能够看到:
scope.myForm.myField.$dirty;
希望这能帮助。。。
相关文章:
- 我如何才能让CasperJS和PhantomJS在约塞米蒂玩得很好
- 加载侦听器上的函数触发得太早
- 我怎么能让jQuery对话框表现得像Javascript警报
- “createImageData()”和“new ImageData(()”有何不同
- $(window).load在带有异步js-libs的IE中触发得太快
- 我在下拉列表中尝试了下一个和前五年的html代码.接下来的5年我都过得很好.我怎样才能拿到之前的5年
- 如何使用粉笔终端字符串样式做得正确
- HTML按钮在单击时表现得很奇怪
- 为什么parseInt()比Firefox中的*1慢得多
- mootools 1.4.2和angular 1.3在ie8中配合得很好
- Angular.js指令格式化程序只调用过一次,或者如何告诉ngModel表现得像watchCollection
- Javascript在Chrome上表现得很糟糕
- 为什么严格的模式会让如此简单的动作变得如此不同
- CKEditor小部件忘记了它们'重新组装小部件,变得毫无用处
- Bitwise或比预期做得更多
- 防止模式背景覆盖在每个打开的新模式上变得更暗
- jQuery Slider 滑得太远了一步
- .each() 表现得很奇怪
- 谷歌地图在我调整网页大小之前显示得不好
- 为什么 ng-href 在解析地理字符串时表现得很奇怪