`

isDirty()方法判断表单值是否发生改变

阅读更多

最近做了一个离开表单时,判断表单值是否发生变化的功能,我的方法是取表单页面切换前后的值循环比较,后来发现BasicForm组件有一个isDirty()方法,学习了!以下是实例代码:

 

对 form 里面的所有 field 进行判断,通过 isDirty() 方法。

function isFormChanged(formPanel){
 var form = formPanel.getForm();
 var dirty = false;
 if(form) {
  form.items.each(function(item){     
     if(!dirty){
        dirty = item.isDirty();     
     } 
  });
 }
 return dirty;
}
防止页面加载时调用setValue()方法导致dirty值为true,查API看到如下配置项:


trackResetOnLoad : Boolean
如果设置为true,form.reset()方法将表单重置到最后一次加载或者 调用setValues()方法时的数据,而不是重置到表单创建时的状态。默认为false。
分享到:
评论

相关推荐

    extjs属性方法大全

    - `isDirty()`: 判断表单是否被修改过。 - `isValid()`: 验证表单是否有效。 - `load(Object options)`: 加载表单数据。 - `loadRecord(Record record)`: 从记录加载表单数据。 - `markInvalid(Array/Object ...

    Vue表单验证插件Vue Validator使用方法详解

    - `dirty`、`pristine`:字段值是否已更改过或未被更改。 - 对于每个字段,还会有如`required`、`maxlength`等具体验证规则的结果。 验证器语法: `v-validate`指令的语法是`v-validate[:field]="array literal | ...

    JavaScript判断用户是否对表单进行了修改的方法

    在JavaScript中,判断用户是否对表单进行修改的方法通常是通过比较表单元素当前的值与其初始默认值来实现的。这个功能在用户可能需要保存未完成的编辑时尤其有用,例如在用户离开页面或关闭浏览器时提醒他们。下面将...

    AngularJS 学习笔记(表单验证篇)

    这些状态可以用于判断用户是否已经触发表单。 3. **表单验证指令**: AngularJS提供了多种内置的验证指令,如`ng-minlength`, `ng-maxlength`, `ng-pattern`, `ng-required`等,它们可以直接应用在输入元素上,...

    Angular2 自定义表单验证器的实现方法

    还可以通过表单控件的.hasError()方法来检查是否发生特定的验证错误。例如,在上面提到的自定义URL验证器中,可以通过LinkedURL.hasError('isUrl')来判断LinkedURL控件是否发生了URL验证错误。 总结一下,在Angular...

    磁盘检索提示DIRTY

    提示Volume is dirty来源于网络知识

    基于angularJS移动端表单验证效果

    AngularJS表单的状态管理非常直观,表单的`$invalid`、`$valid`、`$pristine`、`$dirty`等属性可以用来判断表单或特定字段的状态。例如,`$invalid`表示表单或字段无效,`$pristine`表示用户未交互过,`$dirty`则...

    jquery.dirty

    ” onDirty修改表单时调用的函数onClean将表单恢复到原始状态时调用的函数方法$("#myForm").dirty("isDirty"); 如果表单已修改,则返回true $("#myForm").dirty("isClean"); 如果尚未修改表单,则返回tr

    Dirty Ames

    Dirty Ames

    AngularJS表单验证

    每个表单控件也有自己的状态,如`$scope.myForm.username.$valid`,用于检查单个输入字段是否有效。 此外,AngularJS还支持自定义验证指令,这使得开发人员能够创建符合特定业务需求的验证规则。自定义验证指令通常...

    由浅入深剖析Angular表单验证

    3. **表单状态属性**:在`$scope.form`对象上,有几个重要的状态属性,如`$dirty`和`$pristine`表示用户是否已修改过表单,`$valid`和`$invalid`表示表单或特定字段是否有效。`$error`对象则包含了所有验证失败的...

    AngularJs demo 例子(表单验证) form

    AngularJS 会自动管理表单和输入字段的状态,包括`$pristine`(未触发表单)、`$dirty`(已触发表单)、`$valid`(有效)和`$invalid`(无效)。这些状态可以用来控制何时显示错误消息,例如: ```html $invalid &&...

    is-dirty:一个非常幼稚的分类器,用于判断句子中是否包含脏词

    是脏的一个非常幼稚的分类器,用于判断句子中是否包含脏词。 很好地适用于英语,并且可以处理流行的西班牙语,印尼语,阿拉伯语和北印度语显性词。动机我Swift编写了此脚本,以找出给定列表中有多少色情/露骨的结果...

    AngularJS表单和输入验证实例

    - 使用`$scope.reset()`方法可以重置表单控件的值和状态。 5. 客户端与服务端验证: - 文章强调了客户端验证虽然可以提升用户体验和减轻服务器负载,但是不能完全保证数据的安全性。 - 服务端验证是必要的,因为...

    使用AngularJS对表单提交内容进行验证的操作方法

    例如,$dirty属性表示表单是否被修改过,$valid属性表示字段内容是否合法,$invalid属性表示字段内容是否非法,而$pristine属性表示表单是否未被填写过,$error属性可以获取具体的验证错误信息。 进行表单验证首先...

    AngularJS表单基础

    如果表单中有元素校验不通过,则整个表单的`$invalid`属性值为真,可以用来禁用提交按钮,直到表单校验通过。 AngularJS还扩展了HTML中`<input>`元素的类型,除了原生支持的10种类型外,AngularJS额外提供了`number...

    Writing on dirty paper

    “Writing on dirty paper”是一种特殊的编码方法,它允许发送者通过一个已知干扰的信道有效地传输信息。这种技术的核心思想是将干扰作为先验信息来处理,从而能够在存在噪声或干扰的情况下提高通信质量。 #### 二...

    vb自定义属性实例...

    例如,我们可能希望添加一个`IsDirty`属性,它会在属性值改变时自动更新: ```vb Public Class MyClass Private _myValue As Integer Private _isDirty As Boolean = False Public Property MyValue() As ...

    unsave-changes-detector:检测JavaScript属性更改并返回布尔值

    在那种情况下,必须检查每个表单字段值(如果没有诸如角度的isDirty属性)以检查表单字段是否被编辑。 unsave-changes-detector将帮助您检测JavaScript属性更改并返回布尔值。 如果您正在使用aurelia,请使用@...

    AngularJs表单校验实例

    每个表单控件(如`<input>`, `<select>`, `<textarea>`等)可以添加`ng-model`指令,将控件的值与AngularJS中的模型对象绑定。 ```html $invalid">Submit ``` 上述代码创建了一个名为`myForm`的表单,并且`...

Global site tag (gtag.js) - Google Analytics