Extjs的Form表单提交方式
一.直接提交:url写在表单中
var addForm = new Ext.FormPanel({ frame: true, url:"insertProject.eva?doType=insertProject", labelWidth: 80, //labelAlign: "right", //buttonAlign:"center", items:[ xmmcCombox, { name:"xmdw", xtype:"textfield", fieldLabel:"项目单位", readOnly:true, width:200 },{ name:"depart", xtype:"textfield", fieldLabel:"主管部门", readOnly:true, width:200 }, typeRadio, modeRadio, agencyRadio ], buttons:[ { text:"确认", handler:function(){ addForm.getForm().submit({ method:"POST", waitMsg:"保存中,请稍后..." }); addWin.hide(); } },{ text:"取消", handler:function(){ addWin.hide(); } } ] });
二.在submit()方法中获取参数值,设置URL,并提交
var addForm = new Ext.FormPanel({ frame: true, labelWidth: 80, //labelAlign: "right", //buttonAlign:"center", items:[ xmmcCombox, { name:"xmdw", xtype:"textfield", fieldLabel:"项目单位", readOnly:true, width:200 },{ name:"depart", xtype:"textfield", fieldLabel:"主管部门", readOnly:true, width:200 }, typeRadio, modeRadio, agencyRadio ], buttons:[ { text:"确认", handler:function(){ var thisForm = addForm.getForm(); if(thisForm.isValid()){ var submitValues = thisForm.getValues(); //提交表单 thisForm.submit({ url:"insertProject.eva?doType=insertProject", method:"POST", waitMsg:"保存中,请稍后...", params:submitValues, success:function(){ Ext.Msg.alert('成功', "增加了一个新的项目绩效信息!"); addWin.hide(); }, failure:function(form,action){ Ext.Msg.alert('失败', "保存项目绩效信息失败!"); } }); } addWin.hide(); } },{ text:"取消", handler:function(){ addWin.hide(); } } ] });
注意查看url的位置区别!
实例分析:
1.ExtJs前端代码提交表单:
/** * ----------------------------------------- * ======点击下拉按钮获取项目名称,项目单位,主管部门====== * ----------------------------------------- */ /*-----1.创建数据源-----*/ var xmmcStore = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({ url:'getXmmc.eva?doType=getXmmc' }), reader: new Ext.data.JsonReader( {root: 'data'}, ['id','name'] ) }); /*-----2.创建项目名称下拉列表-----*/ var xmmcCombox = new Ext.form.ComboBox({ fieldLabel:"项目名称", store:xmmcStore, displayField:"name", valueField:"id", hiddenName:"projectId", triggerAction:"all", emptyText:"请选择", editable:false, listeners:{ /*"expand":function(){ xmmcStore.load(); },*/ "select":function(obj, record){ itemStore.baseParams.xmid = record.get('id'); itemStore.load(); } } }); /*-----3.创建获取单位和主管部门数据源-----*/ var itemProxy = new Ext.data.HttpProxy({ url:"getItem.eva?doType=getItem" }); var itemReader = new Ext.data.JsonReader( {root:"data"}, ["company","department"] ); var itemStore = new Ext.data.Store({ proxy:itemProxy, reader:itemReader }); //加载Store,并将数据赋值到文本框 itemStore.on('load', function (store, record, options) { var comp = record[0].get("company"); var dept = record[0].data.department; addForm.getForm().findField("xmdw").setValue(comp); addForm.getForm().findField("depart").setValue(dept); }); /** * -------------------- * ======增加项目窗口====== * -------------------- */ /*-----1.创建单选框按钮组-----*/ //评价类型单选框 var typeRadio = new Ext.form.RadioGroup({ fieldLabel:"评价类型", items:[{ layout: 'column', items: [ { name:"etype", inputValue:"1", boxLabel:"事前评价", checked:true, width:100 },{ name:"etype", inputValue:"2", boxLabel:"事中评价", width:100 },{ name:"etype", inputValue:"3", boxLabel:"事后评价", width:100 } ] }] }); //评价方式单选框 var modeRadio = new Ext.form.RadioGroup({ fieldLabel:"评价方式", items:[{ layout:"column", items:[ { name:"emode", inputValue:"1", boxLabel:"单位绩效自评", checked:true, width:100 },{ name:"emode", inputValue:"2", boxLabel:"财政部门组织评价", width:100 } ] }] }); //评价机构单选框 var agencyRadio = new Ext.form.RadioGroup({ fieldLabel:"评价机构", items:[{ layout:"column", items:[ { name:"eagency", inputValue:"1", boxLabel:"中介机构", checked:true, width:100 },{ name:"eagency", inputValue:"2", boxLabel:"单位评价组", width:100 },{ name:"eagency", inputValue:"3", boxLabel:"财政评价组", width:100 } ] }] }); /*-----2.创建表单-----*/ var addForm = new Ext.FormPanel({ frame: true, labelWidth: 80, //labelAlign: "right", //buttonAlign:"center", items:[ xmmcCombox, { name:"xmdw", xtype:"textfield", fieldLabel:"项目单位", readOnly:true, width:200 },{ name:"depart", xtype:"textfield", fieldLabel:"主管部门", readOnly:true, width:200 }, typeRadio, modeRadio, agencyRadio ], buttons:[ { text:"确认", handler:function(){ var thisForm = addForm.getForm(); if(thisForm.isValid()){ var submitValues = thisForm.getValues(); //提交表单 thisForm.submit({ url:"insertProject.eva?doType=insertProject", method:"POST", waitMsg:"保存中,请稍后...", params:submitValues, success:function(){ Ext.Msg.alert('成功', "增加了一个新的项目绩效信息!"); addWin.hide(); }, failure:function(form,action){ Ext.Msg.alert('失败', "保存项目绩效信息失败!"); } }); } addWin.hide(); } },{ text:"取消", handler:function(){ addWin.hide(); } } ] }); /*-----3.创建窗口-----*/ var addWin = new Ext.Window({ title:"增加任务", layout:"fit", height:280, closeAction:"hide", width:350, items:addForm });
需要注意的参数名:
1.ComboBox:hiddenName:"projectId"---valueField:"id"
2.Textfield:name---value(store赋值的value)
3.Radio:name---inputValue
2.Java后台代码获取提交的表单数据:
else if ("insertProject".equals(action)) { int projectId = Integer.valueOf(request.getParameter("projectId")); String company = request.getParameter("xmdw"); String department = request.getParameter("depart"); int etype = Integer.valueOf(request.getParameter("etype")); int emode = Integer.valueOf(request.getParameter("emode")); int eagency = Integer.valueOf(request.getParameter("eagency")); }
相关推荐
在“ExtJs4.0 表单提交Demo”中,我们将深入探讨如何在ExtJs 4.0环境下,通过Ext Ajax模块实现表单的数据提交,同时实现显示层和控制层的分离,提升代码的可维护性和可扩展性。 1. **ExtJs 4.0 表单基础** ExtJs ...
console.log('表单提交', action.result); }); ``` 5. **动态移除字段**: 当需要移除某个字段时,可以使用`remove`方法: ```javascript formPanel.remove(textField); formPanel.doLayout(); ``` 6. **...
在ExtJs中,可以通过多种方式获取表单元素的值。最常见的方法之一就是使用`getValues()`函数。此函数返回一个包含所有表单字段值的对象。下面通过具体的例子来详细了解这个过程: #### 2.1 使用`getValues()` 假设...
保存提交代码,extjs4.0 // 重置 和 保存 按钮. buttons: [{ text: '重置', handler: function() { this.up('form').getForm().reset(); } }, { text: '保存', /*formBind: true, //only enabled once the ...
在开发使用Extjs4框架的应用程序时,可能会遇到form表单提交后,无法正确进入success回调函数的问题。针对这个问题,首先需要进行两个方面的检查和确认,以确保form提交操作能够顺利进入success回调函数。 首先,...
在本文中,我们将深入探讨如何优化EXTJS中的Form表单提交过程,特别是在EXTJS应用程序中。EXTJS是一个强大的JavaScript框架,用于构建富客户端Web应用程序,而表单提交是任何应用程序中不可或缺的部分。优化这一过程...
四、表单提交方式 EXTJS表单支持两种主要的提交方式:异步(Ajax)提交和传统(Standard)提交。异步提交是EXTJS常用的提交方式,通过Ajax发送JSON或URL编码的数据到服务器,无须页面刷新,能实现更好的用户体验。...
这个方法会接收到ExtJS表单提交的数据,并根据业务逻辑进行处理。返回的字符串将作为`action.result.message`显示在前端。 总的来说,提交ExtJS表单涉及前端的表单构建、事件监听以及后端的接收和处理。确保前后端...
`Ext.form.Action`是ExtJS中的一个类,用于处理表单提交和加载数据的动作。它提供了多种配置选项和属性来控制表单操作的过程。 **配置项** - **success**: 执行成功后的回调函数,该函数接收两个参数:`form`(当前...
`Ext.form.Panel`是Extjs4提供的一个用于创建复杂表单的组件。它允许开发者构建包含多个输入字段、按钮以及其他交互元素的表单,并且提供了大量的功能来帮助处理表单数据,如验证、提交以及数据绑定等。 ### 二、...
ExtJS的表单使用FormPanel容器 表单使用的布局方式:form和formtable布局 ExtJS的表单和html的form标签是相似的,新建一个FormPanel实际上就是新建一个html的form标签,只是添加许多Ext的样式而已
5. **事件监听**:设置事件监听器来处理用户交互,如表单提交、字段变化等。 6. **渲染和显示**:将表单渲染到页面上,让用户可以操作。 从提供的标签“源码”和“工具”来看,可能包含的资源kk.doc可能是一个示例...
本文将深入探讨Extjs中的表单验证机制,包括错误信息提示方式、内置验证属性、Vtype验证以及自定义验证方法。 #### 二、Extjs 错误信息提示方式 在进行任何形式的验证之前,首先需要配置错误信息的提示方式。Extjs...
主要用例子说明extjs4的form表单的运用,其中有表单属性说明,表单控件运用说明如: title:'表单', //表单标题 bodyStyle:'padding:5 5 5 5', //表单边距 height:120, //表单高度 width:200, //表单宽度 ...
这里提到了EXTJS的四种异步提交方式,分别是基于EXT JS的Ajax方法、指定HTML表单的Ajax提交、EXT JS自定义表单的提交以及使用Action配置的提交。下面将详细解释这四种方式: 1. **基于EXT JS的Ajax方法**: 在`...
本文将深入探讨如何在ExtJs中使用`FormPanel`组件结合`form`和`column`布局属性来实现横向布局,即在一个表单中元素能够按照列分布,形成一种更为直观和用户友好的界面设计。 ### 一、理解`FormPanel`及其属性 `...
表单数据的提交和验证可通过`submit`方法实现。 **二、网格(Grid)** 网格是展示和操作大量结构化数据的利器。在ExtJS中,`Ext.grid.Panel`是创建网格的主要组件。你可以通过`columns`配置定义列,每列由一个对象...