ホームページ  >  記事  >  ウェブフロントエンド  >  Extjsの最適化(2) フォーム送信の汎用実装

Extjsの最適化(2) フォーム送信の汎用実装

高洛峰
高洛峰オリジナル
2017-02-04 13:21:031426ブラウズ

/** 
* 提交表单 
*/ 
function $postForm(a) { 
if (a.formPanel.getForm().isValid()) { 
var b = a.scope ? a.scope: this; 
a.formPanel.getForm().submit({ 
scope: b, 
url: a.url, 
method: "post", 
params: a.params, 
waitMsg: "正在提交数据...", 
success: function(c, d) { 
Ext.ux.Toast.msg("操作信息", "成功信息保存!"); 
if (a.callback) { 
a.callback.call(b, c, d); 
} 
}, 
failure: function(c, d) { 
Ext.MessageBox.show({ 
title: "操作信息", 
msg: "信息保存出错,请联系管理员!", 
buttons: Ext.MessageBox.OK, 
icon: "ext-mb-error" 
}); 
if (a.callback) { 
a.callback.call(b); 
} 
} 
}); 
} 
}

変更されたコードを使用するには、わずか 13 行のコードが必要です。元のコードでは 25 ~ 30 行のコードが必要です。例:

saveRecord: function() { 
$postForm({ 
formPanel:this.formPanel, 
scope:this, 
url: __ctxPath + "/basedata/saveStudentDepartment.action", 
params:{}, 
callback: function(d, f) { 
var e = Ext.getCmp("StudentDepartmentGrid"); 
if (e != null) { 
e.getStore().reload(); 
} 
b.close(); 
} 
});

Extjs の最適化 (2) フォーム送信のユニバーサル実装に関する記事を参照してください。 PHP中国語ウェブサイトへ!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。