Extjs form 表单的 submit
说明:extjs form表单的提交方式是多种多样的,本文只是介绍其中的一种方法,本文介绍的方法可能不是完美的,但是对于一般的应用应该是没有问题的。 本文包括的主要内容有:form面板设计、form字段值的获取、后台处理代码以及返回数据的获取
1、form表单设计
var panelItem = Ext.create('Ext.form.Panel', {
border: false,
id:'formMain',
layout: 'form',
items: [
{
xtype: 'form',
border: false,
layout: 'column',
id:'formR1',
bodyStyle: 'padding-bottom:10px;',
items: [
{
xtype: 'textfield',
fieldLabel: '用户名',
labelAlign: 'right',
columnWidth: .,
labelWidth:,
name: 'userName'
}, {
xtype: 'textfield',
fieldLabel: '工号',
columnWidth: .,
labelWidth: ,
labelAlign: 'right',
name: 'workNum'
}, {
xtype: 'textfield',
fieldLabel: '部门',
labelAlign: 'right',
columnWidth: .,
labelWidth: ,
name: 'department'
}
]
},
{
xtype: 'form',
border: false,
id: 'formR2',
layout: 'column',
bodyStyle: 'padding-bottom:10px;',
items: [
{
xtype: 'textfield',
fieldLabel: '电话号',
labelAlign: 'right',
columnWidth: .,
labelWidth: ,
name: 'phone'
}, {
xtype: 'textfield',
fieldLabel: '职位',
columnWidth: .,
labelWidth: ,
labelAlign: 'right',
name: 'position'
}, {
xtype: 'textfield',
fieldLabel: '微信号',
labelAlign: 'right',
columnWidth: .,
labelWidth: ,
name: 'WeiXin'
}
]
}, {
xtype: 'form',
id: 'formR3',
border: false,
layout: 'column',
items: [
{
xtype: 'combo',
fieldLabel: '性别',
//width:245,
columnWidth: .,
labelAlign: 'right',
labelWidth: ,
editable: false,
emptyText: '--请选择--',
store: genderStore,
queryMode: 'local',
displayField: 'Name',
valueField: 'Value',
name: 'sex'
}, {
xtype: 'textfield',
fieldLabel: '通信地址',
labelAlign: 'right',
columnWidth: .,
labelWidth: ,
name: 'UserAddress'
}
]
}
],
buttons:
[
{
text: '保存',
formBind: true,//这一句代码就是把button和form表单绑定在一起
handler: function (btn) {
Ext.getCmp('formMain').getForm().submit({
method: 'POST',
params: {
//怎么获取form字段的值
userName: Ext.getCmp('formMain').getForm().findField('userName').getValue();//
workNum = Ext.getCmp('formMain').getForm().findField('workNum').getValue();
department = Ext.getCmp('formMain').getForm().findField('department').getValue();
phone = Ext.getCmp('formMain').getForm().findField('phone').getValue();
position = Ext.getCmp('formMain').getForm().findField('position').getValue();
WeiXin = Ext.getCmp('formMain').getForm().findField('WeiXin').getValue();
sex = Ext.getCmp('formMain').getForm().findField('sex').getValue();
UserAddress = Ext.getCmp('formMain').getForm().findField('UserAddress').getValue();
},
url: 'Home/HandlerRoleAdd',
waitMsg: '请稍等,正在添加',
success: function (form, action) {
if(action.result.success) {
Ext.getCmp('formMain').getForm().reset();//form表单重置
Ext.MessageBox.alert('提示', '添加成功!');
//可以根据返回结果,做进一步的处理
// btn.ownerCt.close();这一句的作用是,如果把上面定义的form对象作为某个窗体的item,就是关闭该窗体
}
else {
Ext.MessageBox.alert('提示', action.result.msg);
}
},
failure: function (form, action) {
Ext.MessageBox.alert('提示', action.result.msg);
}
});
}
},
{
text: '重置',
handler: function () {
Ext.getCmp('formMain').getForm().reset();//form表单重置
}
}]
});
2、form表单中combox控件所需的store
var genderStore = Ext.create("Ext.data.Store", {
fields: ["Name", "Value"],
data: [
{ Name: "男", Value: 1 },
{ Name: "女", Value: 2 }
]
});
3、后台代码及返回值结构等
后台是asp.net mvc c#语言开发
public ActionResult HandlerRoleAdd()
{
try
{
//获取前台传过来的参数
string userName = string.Empty;
if (Request["userName"] != null)
{
userName = Request["userName"].ToString();
}
string workNum = string.Empty;
if (Request["workNum"] != null)
{
workNum = Request["workNum"].ToString();
}
string department = string.Empty;
if (Request["department"] != null)
{
department = Request["department"].ToString();
} string phone = string.Empty;
if (Request["phone"] != null)
{
phone = Request["phone"].ToString();
} string position = string.Empty;
if (Request["position"] != null)
{
position = Request["position"].ToString();
} string WeiXin = string.Empty;
if (Request["WeiXin"] != null)
{
WeiXin = Request["WeiXin"].ToString();
} string sex = string.Empty;
if (Request["sex"] != null)
{
sex = Request["sex"].ToString();
} string UserAddress = string.Empty;
if (Request["UserAddress"] != null)
{
UserAddress = Request["UserAddress"].ToString();
} string str =string.empty;
//
//具体业务逻辑
// if (string.IsNullOrEmpty(str))
{
result.success = false;
result.msg = "失败";
}
else
{
result.success = true;
result.msg = "成功"; } }
catch(Exception ex)
{ result.success = false;
result.msg = ex.Message; }
finally
{ } return Json(result,JsonRequestBehavior.DenyGet);
}
4、结束语
我写的语言可能不优美,示例方法也可能不是很完美,但是我保证是完整的。最后希望这篇博文能够帮助你!
Extjs form 表单的 submit的更多相关文章
- 使用ajax实现form表单的submit事件
需求:如题,需要在登录页面使用ajax提交请求,并在本页面返回请求信息. 主要部分jS如下: //提交表单$("#loginForm").submit(function(){ va ...
- form表单,submit,ajax提交
尼玛... 一个简单的表单提交,竟然给我整的直郁闷. 本来就是个保存功能,几个前人都用的ajax提交,我也就没改成submit.然后坑爹的就来了. 我在表单里写了个<form></f ...
- 分享form表单提交问题
前段时间做了一个form表单传值问题 当时觉得form表单的submit不就是提交form表单name的value值吗 ? 其实是对的 但是我做的是一个打印页面 需要把当前页面的元素传入下一个u ...
- Form表单三种提交按钮的区别?
1.<input type='button' id='btn' onclick='check()' value="提交"> 说明:只是普通的按钮(不附带提交功能),不会 ...
- javascprit form表单提交前验证以及ajax返回json
1.今天要做一个手机验证码验证的功能.需求是前端页面点击发送 短信验证码,后台接收后通过ajax返回到前端,之后前端在提交时候进行验证.思路很简单,不过做的过程还是学到不少的东西. 1.ajax请求后 ...
- form表单提交三种方式,demo实例详解
第一种:使用type=submit 可以直接提交 <html> <head> <title>submit直接提交</title> </head& ...
- ExtJs如何判断form表单是否被修改过详解
1.Extjs表单提交主要有三种方式: 1, EXT的form表单ajax提交(默认提交方式) 相对单独的ajax提交来说优点在于能省略写参数数组 ,form.getForm().submi ...
- [原创]java WEB学习笔记62:Struts2学习之路--表单标签:form,表单标签的属性,textfield, password, hidden,submit ,textarea ,checkbox ,list, listKey 和 listValue 属性,select ,optiongroup ,checkboxlist
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- form表单的两种提交方式,submit和button的用法
1.当输入用户名和密码为空的时候,需要判断.这时候就用到了校验用户名和密码,这个需要在jsp的前端页面写:有两种方法,一种是用submit提交.一种是用button提交.方法一: 在jsp的前端页面的 ...
随机推荐
- TinyXML2使用教程(转)
原文转自 http://blog.csdn.net/K346K346/article/details/48750417 1.TinyXML2概述 TinyXML2是simple.small.effic ...
- react-highcharts
import ReactHighcharts from'react-highcharts'; class SummaryLeft extends Component { render () {var ...
- 小程序-引用其他js文件
我也是小白菜,之所以有这个记录是因为我做项目时遇到了这个问题 流程: 1.需要建立一个js文件 content.js function myContent() { console.log(&quo ...
- Codeforces 551E GukiZ and GukiZiana(分块思想)
题目链接 GukiZ and GukiZiana 题目大意:一个数列,支持两个操作.一种是对区间$[l, r]$中的数全部加上$k$,另一种是查询数列中值为$x$的下标的最大值减最小值. $n < ...
- 洛谷——P1331 海战
P1331 海战 题目描述 在峰会期间,武装部队得处于高度戒备.警察将监视每一条大街,军队将保卫建筑物,领空将布满了F-2003飞机.此外,巡洋船只和舰队将被派去保护海岸线.不幸的是因为种种原因,国防 ...
- css查缺补漏2
15.布局流程 一.确定页面的版心; 二.确定页面中的行模块,以及每个页面中的列模块 三.制作HTML结构 例:.top+.banner+(.main>.left+.right)+.footer ...
- 分享tiny4412,emmc烧录u-boot, 支持fastboot模式烧写emmc
转载 : http://www.arm9home.net/read.php?tid-83474.html 本人是第一次在此发帖,希望大家多多支持,发帖目的是为了分享,分享的目的是传递开源的精神.Tin ...
- cocos2d-x step by step(3) Double Kill
喏,咱们已经调通hello world 了,然后呢,咱们做一些高大上的东西,那做什么呢,做一个打乒乓球的小东西,啊哈! 这就是最终界面了,没画一个球形 就用一个白色方框代替吧. 啊哈! public ...
- hive界面工具SQL Developer的安装;使用sql developer连接hive;使用sql developer连接mysql
需要oracle帐号登录后下载 1.下载: http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/inde ...
- mysql 安装配置及经常使用操作
作为关系型数据库的一种,mysql因其占用内存小和开源等特性而兴起.以下简介下关于mysql配置和简单的操作. mysql配置 1.安装文件的下载 免安装版下载地址 :http://dev.mysql ...