ExtJS - 表单上的脏检查仅在第一次起作用

Joj*_*oji 0 extjs

在提交编辑详细信息表单之前,我正在进行脏检查.这在表单加载后第一次工作,但如果我提交表单一次,脏检查将停止在后续调用中工作.

if(editForm.getForm().isDirty()) {
    editForm.getForm().submit( {
        url:'app/update',
        waitMsg:'Saving data',
        success:function(form,action) {
              Ext.Msg.alert("Success", "Successfully updated");
        },
        failure: function(form,action) {
              Ext.Msg.alert("Failure", "Failed to update");
        }
    });
} else {
    Ext.Msg.alert("Message", "Nothing has been changed since you last saved.");
}
Run Code Online (Sandbox Code Playgroud)

Abd*_*oof 5

这是因为您的表单将字段值与初始字段值进行比较.

您可以使用该reset()方法在提交后重置表单.如果您需要为用户提供在同一表单上继续编辑,您可以使用loadRecord()方法重新加载包含最新数据的表单.或者您必须使用trackResetOnLoad酒店.将此属性设置为true.


小智 5

这对我有用.我在成功提交表单后添加了此内容.

form.getForm().getFields().each(function(field){
   field.resetOriginalValue( );
});
Run Code Online (Sandbox Code Playgroud)