ホームページ > 記事 > ウェブフロントエンド > Extjsの最適化(2) フォーム送信の汎用実装
/** * 提交表单 */ 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中国語ウェブサイトへ!