在提交编辑详细信息表单之前,我正在进行脏检查.这在表单加载后第一次工作,但如果我提交表单一次,脏检查将停止在后续调用中工作.
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)
这是因为您的表单将字段值与初始字段值进行比较.
您可以使用该reset()方法在提交后重置表单.如果您需要为用户提供在同一表单上继续编辑,您可以使用loadRecord()方法重新加载包含最新数据的表单.或者您必须使用trackResetOnLoad酒店.将此属性设置为true.
小智 5
这对我有用.我在成功提交表单后添加了此内容.
form.getForm().getFields().each(function(field){
field.resetOriginalValue( );
});
Run Code Online (Sandbox Code Playgroud)