为了减少异步加载的次数,于是想做一个动态表单全部由后台生成好的json数据送到前端解析
贴贴效果:
下面是代码:
调用的地方:
title : '基本信息',
layout : 'fit',
items : [new web.ui.classmanage.classPanel({
classID : this.classID,
pModule : 'classes',
pMethod : 'subClassDetailsGeneralInfo'
})]
表单容器:
Ext.namespace("web.ui.classmanage");
web.ui.classmanage.classPanel = function(itemConfig) {
Ext.apply(this, itemConfig);
web.ui.classmanage.classPanel.superclass.constructor.call(this);
};
Ext.extend(web.ui.classmanage.classPanel, Ext.Panel, {
baseForm : '',
myMask : '',
filterAttName : [],
initComponent : function() {
this.myMask = new Ext.LoadMask(Ext.getBody(), {
msg : "Please wait..."
});
var baseClassGeneralForm = new web.ui.classmanage.baseClassGeneralPanel({
classID : this.classID,
pModule : this.pModule,
pMethod : this.pMethod
});
this.baseForm = baseClassGeneralForm;
var config = {
layout : 'fit',
frame : true,
items : [baseClassGeneralForm],
buttons : [{
text : 'Save',
handler : this.updateNode,
scope : this
}, {
text : 'Cancel',
handler : this.calcel
}]
};
Ext.apply(this, config);
web.ui.classmanage.classPanel.superclass.initComponent.call(this);
},
updateNode : function() {
var data = '';
this.baseForm.getForm().items.each(function(item, index, length) {
if (item.isDirty() && !item.disabled) {
if (item.getName() != "AutoNumber"
&& (item.getName() != "" && item.getName().length != 0)) {
data += encodeURIComponent(item.getName()) + '='
+ encodeURIComponent(item.getValue()) + '&';
}
}
});
if (data == '') {
return;
}
data = Ext.encode(Ext.urlDecode(data));
this.myMask.show();
this.submit(data);
},
cancel : function() {
},
submit : function(data) {
var classID = this.classID;
var mask = this.myMask;
Ext.Ajax.request({
// 请求地址
url : contextPath + '/classes/index.shtml',
method : 'POST',
// 提交参数组
params : {
pmethod : 'update',
updateData : data,
classID : classID
},
success : function(response) {
var jsonObj = eval(response.responseText);
if (!jsonObj.state) {
Ext.Msg.alert("提示", jsonObj.message);
}
mask.hide();
},
failure : function() {
mask.hide();
}
});
}
});
生成的json字符串 :
[{"anchor":"95%","disabled":false,"fieldLabel":"Name","id":"","name":"30","readOnly":false,"value":"ECR8","xtype":"textfield"},{"anchor":"95%","disabled":false,"fieldLabel":"Description","id":"","name":"38","readOnly":false,"value":"ECR8ddd","xtype":"textfield"},{"anchor":"95%","defaultValue":"","disabled":false,"displayField":"text","editList":false,"fieldLabel":"Enabled","hiddenName":"40","id":"","listID":"","mode":"local","name":"","readOnly":false,"store":{"data":[["0","No"],["1","Yes"]],"fields":["value","text"]},"triggerAction":"all","value":"Yes","valueField":"value","xtype":"listSelect"},{"anchor":"95%","disabled":false,"fieldLabel":"Icon","id":"","name":"708","readOnly":false,"value":"","xtype":"textfield"},{"anchor":"95%","disabled":true,"fieldLabel":"Class","id":"","name":"","readOnly":false,"value":"文档","xtype":"textfield"},{"anchor":"95%","disabled":false,"fieldLabel":"AutoNumber","hideId":"autoNumberIds","id":"","leftStore":[{"id":"43620","name":"项目编号"}],"name":"AutoNumber","readOnly":false,"rightStore":[{"id":"39300","name":"yyy"},{"id":"43620","name":"项目编号"},{"id":"45540","name":"ceshi_删除u"},{"id":"45800","name":"NEW"},{"id":"45900","name":"文档编号"},{"id":"45920","name":"NewAuto_EDIT2"},{"id":"48840","name":"aaa"},{"id":"69905","name":"aa"},{"id":"72926","name":"文档测试编号2"}],"value":"项目编号","xtype":"staticTriggerSelector"},{"anchor":"95%","disabled":false,"fieldLabel":"","id":"autoNumberIds","name":"57","readOnly":false,"value":"43620","xtype":"hidden"}]
- 大小: 52.9 KB
- 大小: 71 KB
分享到:
相关推荐
EXT4.3实现动态表单全动态是一种在Web开发中常用的技术,主要应用于构建高度可配置和可扩展的用户界面。这种技术的核心是利用EXTJS库的EXT4.3版本,EXTJS是一个强大的JavaScript框架,专门用于创建富互联网应用程序...
通过以上步骤,你可以实现动态加载Ext表单数据的功能。在实际应用中,可能还需要考虑错误处理、数据验证、动态更新等问题,但以上代码提供了一个基础的实现思路。不断学习和实践,你将能更好地掌握Ext JS在构建动态...
EXT表单验证是EXT JS框架中的一个重要特性,用于在用户输入数据时确保数据的正确性和完整性。EXT JS是一个强大的JavaScript库,专为构建富客户端Web应用程序而设计。它提供了丰富的组件库,包括表格、表单、菜单等,...
EXT表单,是一种基于JavaScript和Ajax技术的富客户端(Rich Client)表单处理技术,它源自EXT JS库,专门用于构建交互性强、用户体验优秀的Web应用程序。EXT JS是一个强大的JavaScript库,提供了一系列组件化的UI...
在"动态添加表单"这个主题中,我们将深入探讨如何在ExtJS中实现表单的动态创建和管理。 首先,我们要理解表单(Form)在ExtJS中的基本概念。表单是数据输入和验证的核心组件,可以包含各种字段类型,如文本框、下拉...
在EXT中,"动态新增一行"是指在表格或者布局中,通过用户操作(比如点击按钮)来动态地添加新的行元素,这些元素可以是文本框、下拉框等交互组件。 EXT中的Column Layout是一种布局方式,适用于创建网格或表格形式...
### ext_表单提交_数据校验:深入解析与实践 #### 一、文本框输入控件(Ext.form.TextField) 在Ext JS框架中,`Ext.form.TextField`是一种用于收集用户输入的基本控件,它提供了丰富的配置选项来实现数据校验。...
EXT动态列是一种在EXT JS框架下实现表格列动态生成的技术,它允许我们在运行时根据需求创建或修改表格列。EXT JS是一个强大的JavaScript库,专用于构建富客户端Web应用程序,其组件化的设计使得创建复杂的用户界面变...
EXT表单设计器是一款基于EXT库的强大工具,专用于快速、高效地构建Web应用程序中的表单。EXT是一个流行的JavaScript框架,由Sencha公司开发,用于构建富客户端应用。EXT表单设计器充分利用EXT库的功能,提供了可视化...
总结来说,EXT表单FormPanel和表格GridPanel是EXT JS中构建动态Web应用的关键组件,它们提供了丰富的功能和灵活的配置,可以实现复杂的用户界面和数据管理。通过理解并熟练运用这两个组件,开发者能够构建出交互性强...
### EXT异步提交FORM表单知识点详解 #### 一、EXT异步提交FORM表单概述 在现代Web应用开发中,异步提交表单是一种常见的技术手段,它能够提升用户体验,减少页面刷新带来的数据丢失风险,并能有效提高系统的响应...
title: 'EXT表单', items: [ {xtype: 'textfield', name: 'username'}, {xtype: 'passwordfield', name: 'password'} ], buttons: [{ text: '提交', handler: function() { formPanel.getForm().submit({ ...
根据给定的信息,本文将详细解释“Ext 添加功能form表单实例”的知识点,这主要针对Ext初学者。本文会从创建表单、字段定义、验证规则以及提交逻辑等方面进行深入探讨。 ### Ext 添加功能form表单实例 #### 表单...
本示例通过结合Ext JavaScript库、ASP.NET后端框架以及SQL Server 2005数据库,演示了如何根据数据库结构动态创建用户界面(UI)表单。下面将详细讲解这个Demo中的关键知识点。 1. **Ext JS**: Ext JS是一个强大...
EXT是Sencha公司开发的一款基于JavaScript的富客户端应用框架,它提供了一套完整的组件化UI构建工具,其中EXT表单(FormPanel)是用于创建复杂数据输入和验证的重要部分。在EXT表单中,TextField是最常见的输入控件...
自己用Ext2.0做的Form表单,是个包。里面有最后生成界面的图片
在本示例中,我们关注的是使用Ext JS创建表单并连接到XML文件来动态展示数据的场景。Ext JS是一个强大的JavaScript库,专门用于构建富客户端应用程序,它提供了丰富的组件库,包括各种表单元素、布局和数据绑定机制...
标题中的“SZ_USER.zip_ext js 表单”表明这是一个关于Ext JS库的压缩包,其中包含与表单相关的代码或资源。Ext JS是一款强大的JavaScript框架,用于构建富客户端Web应用程序,特别是那些需要复杂用户界面的应用。它...
简单的Ext应用实例,包括表单,与后台交互,基本组件等的使用。对于Ext初学者来说挺实用的,适用于Ext 3.0版本
在这个“Ext2.0 form使用实例的例程”中,我们将深入探讨Ext 2.0的表单(form)组件及其应用。 表单在任何应用程序中都扮演着至关重要的角色,用于收集和验证用户输入的数据。Ext 2.0的表单组件提供了一整套完整的...