ext 表单提交的两种方式对比
Ext中的表单数据提交有两种方式:
Ajax提交方式
Form提交方式
Ajax提交方式
function save(){
var pid = field_PId.getValue();//必填字段
var ptid = combo_PtId.getValue();
var creator = field_creator.getValue();//必填字段
var createtime = field_createtime.getValue();//必填字段
var modifier = field_modifier.getValue();//必填字段
var modifytime = field_modifytime.getValue();//必填字段
var orderno = field_orderno.getValue();
var orgcode = field_orgcode.getValue();
var prjno = field_prjno.getValue();
var prjname = field_prjname.getValue();
var prjdscr = field_prjdscr.getValue();
var psd = field_psd.getValue();
var ped = field_ped.getValue();
var asd = field_asd.getValue();
var aed = field_aed.getValue();
var prjpm = field_prjpm.getValue();
var parenetid = field_pid.getValue();
var istrue = combo_istrue.getValue();
var owner = field_owner.getValue();
var ownertel = field_ownertel.getValue();
var owneraddr = field_owneraddr.getValue();
var state = field_state.getValue();
var stage = field_prjstage.getValue();
var dirid = field_dirid.getValue();
var hiddenID = hidden_Id.getValue();
if(validate(pid,"项目ID")&&
validate(creator,"创建人")&&
validate(createtime,"创建时间")&&
validate(modifier,"最后一次修改人")&&
validate(modifytime,"最后一次修改时间")){
if(hiddenID==null||hiddenID==""){//add
Ext.Ajax.request({
//url : contextPath+'/oa/csproject.ext?pmethod=addCsProject',
url : contextPath+'/oa/csproject.ext?pmethod=addCsProject',
pmethod : 'post',
params : {
prjId : pid,//必填字段
creator : creator,//必填字段
createtime : createtime,//必填字段
modifier : modifier,//必填字段
modifytime : modifytime,//必填字段
orderno : orderno,
orgcode : orgcode,
prjCode : prjno,
prjName : prjname,
prjDscr : prjdscr,
prjPlanSd : psd,
prjPlanEd : ped,
prjActualSd : asd,
prjActualEd : aed,
prjPm : prjpm,
parentId : parenetid,
prjIstrue : istrue,
prjOwner : owner,
prjOwnerTel : ownertel,
prjOwnerAddr : owneraddr,
prjState : state,
prjStage : stage,
prjDirId : dirid
},
success : function(response, options) {
var jsonObj = eval(response.responseText);
if (jsonObj.state) {
store_csProject.load();
window_Edit.hide();
}
Ext.Msg.alert("提示", jsonObj.message);
}
});
}else{//update
Ext.Ajax.request({
url : contextPath+'/oa/csproject.ext?pmethod=updateCsProject',
pmethod : 'post',
params : {
prjId : pid,//必填字段
creator : creator,//必填字段
createtime : createtime,//必填字段
modifier : modifier,//必填字段
modifytime : modifytime,//必填字段
orderno : orderno,
orgcode : orgcode,
prjCode : prjno,
prjName : prjname,
prjDscr : prjdscr,
prjPlanSd : psd,
prjPlanEd : ped,
prjActualSd : asd,
prjActualEd : aed,
prjPm : prjpm,
parentId : parenetid,
prjIstrue : istrue,
prjOwner : owner,
prjOwnerTel : ownertel,
prjOwnerAddr : owneraddr,
prjState : state,
prjStage : stage,
prjDirId : dirid
},
success : function(response, options) {
var jsonObj = eval(response.responseText);
if (jsonObj.state) {
store_csProject.load();
window_Edit.hide();
}
Ext.Msg.alert("提示", jsonObj.message);
}
});
}
}
}
Ajax提交方式比较麻烦,提交数据首先的获取到控件里面的内容,然后在以参数的形式传递到后台。其次还有一个问题就是当传递DateField控件里面的数据到后台的时候会出现null值的现象,这主要是因为Ajax的传递机制问题。
他会把时间格式的数据以字符串的形式并且是以URL重写的方式传递到后台,这样在传递过程中,会导致浏览器对时间格式的不识别,从而丢失数据。
再次,如果是要重置表单的话,也需要一个一个控件的进行置空。
所以,我们最好是采用form表单提交的形式进行数据提交。尤其是在提交数据字段很多的时候,会有很大的优势。
在使用Form表单提交的时候,需要注意的地方就是一定要为你的控件添加 name属性!!!!!!!!!
表单提交格式:
if(savePanel.getForm().isValid()){
savePanel.getForm().doAction('submit',{
url : contextPath+'/work/schedule.ext?pmethod=addSchedule',
method : 'post',
params : {
},
success : function(response, action) {
var message = action.result.message;
//Ext.example.Msg(message);
Ext.Msg.alert('提示',message);
},
failure:function(response,action){
}
});
}
关于表单提交的几个重要方法:
表单自动验证 >>>> 表单控件.getForm().isValid();
表单提交 >>>> 表单控件.getForm().doAction(‘submit’);
表单重置 >>>> 表单控件.getForm().reset();
对于表单提交后台返回处理结果的格式:
if(info!=null){
this.write(response, "{'success':true,'message':'增加日程信息成功'}");
}else{
this.write(response, "{'success':false,'message':'增加日程信息失败'}");
}
分享到:
相关推荐
EXT异步提交FORM表单的使用和,以及EXT配合struts2,sprint2.5进行前台和后台的交互解释和运用.....
ext_表单提交_数据校验 ext_表单提交_数据校验
EXT提交表单,ASP EXT提交表单,ASP EXT提交表单,ASP EXT提交表单,ASP EXT提交表单,ASP EXT提交表单,ASP
EXT提交服务器的三种方式
EXT 表单验证EXT 表单验证EXT 表单验证EXT 表单验证EXT 表单验证
ext ext表单 ext表单设计器 表单设计
EXT dojochina ExtAjax表单提交 L9.rar EXT dojochina ExtAjax表单提交 L9.rar
NULL 博文链接:https://lym6520.iteye.com/blog/339556
使用 json 动态加载 Ext 表单数据。
EXT表单验证之TextField,vtype 包括所有EXT中TextField的验证方式
ext的三种提交方式,form提交,ajax提交,conn方式提交
NULL 博文链接:https://endeavor416.iteye.com/blog/260470
简单的Ext应用实例,包括表单,与后台交互,基本组件等的使用。对于Ext初学者来说挺实用的,适用于Ext 3.0版本
EXT的form表单ajax提交(默认提交方式) 代码如下: 1. function login(item) { 2. 3. if (validatorForm()) { 4. // 登录时将登录按钮设为disabled,防止重复提交 5. this.disabled = true; 6. 7...
一个简单的ExtJs4.0搭建环境,利用Ext Ajax的方式提交表单,可使得显示层和控制层完全分开.
Ext教程 展示EXT表单FormPanel和表格GridPanel的使用
一个完整的Ext表单界面设计视频! 连接XML文件,动态显示表格数据
该例子是使用 Ajax 提交 Ext 表单,并通过 success 和 failer 返回相应的值。
实现文件上传,以及表单提交成功的回调函数