日期:2014-05-16  浏览次数:20369 次

【Extjs优化二】 Form表单提交通用
/**
 * 提交表单
 */
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();
            }
	    });