Extjs form 取值 赋值 重置
一、从form中获取field的三个方法:
1、 Ext.getCmp('id');
2、 FormPanel.getForm().findField('name');
3、 Ext.get('id/name');//前提是FormPanel在界面上显示出来了!!!
二、ExtJS如何给textfield赋值的三个方法:
var value="值"; 1、 fs.form.findField(name).setValue(value); //前提是FormPanel在界面上显示出来了。 2、 Ext.get(id/name).setValue(value); 3、 Ext.getCmp(id).setValue(value);
三、ExtJS 重置表单的方法:
有三种方法能实现form表单的重置,假设var fs=new Ext.form.FormPanel({...});
1、 fs.form.reset();//重置form
2、 fs.getForm().getEl().dom.reset();//重置form
3、 Ext.getCmp('fs').form.reset();
四、formPanel组件load数据时combo的自动赋值:
combo有个hiddenName这个属性,这个属性是真正提交的值,在加载的时候你将这个属性的设置到reader中,就可以自动选择到指定的值了,比如说:hiddenName:'value',那么你的reader中就应该有一个{name:'value'}.
实例分析:
1.给表格增加复选框:(增加了才能在点击某行时获取该行信息!)
var sm = new Ext.grid.CheckboxSelectionModel();

2.在列模型中加入复选框:
var cm=new Ext.grid.ColumnModel({
columns:[
sm,
{
id:'sh',
header: '税号',
width: 160,
dataIndex: 'swdjzh',
sortable: true,
align: 'left',
hideable :true,
css:"color:black;font-size:12px;"
},
...
......
3.在表格中增加复选框:
var enGrid=new Ext.grid.GridPanel({
store: store,
cm: cm,
sm:sm,
title:"虚拟企业信息",
collapsible: false,
animCollapse: false,
renderTo: 'query-grid',
loadMask: new Ext.LoadMask(Ext.getBody(), {msg:'正在加载数据,请稍侯……'}),
view: enView,
stripeRows: true,
tbar: [
{
xtype:'radio',
boxLabel:'按机构代码',
name:'ftype',
// id:'sh',
inputValue:'sh',
hideLabel:true,
listeners:{check:function(){
Ext.getCmp('paras').setValue("");
}}
},
"-",
...
......
...
"-",
{
text:"审核",
iconCls:'audit',
handler:function(){
auditWin.show();
if(enGrid.getSelectionModel().hasSelection()){
var records = enGrid.getSelectionModel().getSelections();//获取选中的行的记录
var record = records[0].data;
var czfpbm = record.czfpbm;
var czfp;
for (var int = 0; int < arrCode.length; int++) {
var array = arrCode[int];
if (array[0] == czfpbm) {
czfp = array[1];
break;
}
}
auditForm.getForm().findField("swdjzh").setValue(record.swdjzh);
auditForm.getForm().findField("qymc").setValue(record.qymc);
auditForm.getForm().findField("dh").setValue(record.dh);
auditForm.getForm().findField("dz").setValue(record.dz);
auditForm.getForm().findField("frdb").setValue(record.frdb);
auditForm.getForm().findField("czfp").setValue(czfp);
auditForm.getForm().findField("zczb").setValue(record.zczb);
auditForm.getForm().findField("clrq").setValue(record.clrq);
}
}
}]
...
......


4.面板:
var auditForm = new Ext.FormPanel({
frame:true,
width:450,
height:200,
buttonAlign : "center",
labelWidth:65,
labelAlign:"right",
items:[{//行1
layout:"column",
items:[{
columnWidth:.5,
layout:"form",
items:[{
name:"swdjzh",
xtype:"textfield",
fieldLabel:"税务号",
readOnly:true,
style:"background:none;border:0px;",
width:210
}]
},{
columnWidth:.5,
layout:"form",
items:[{
name:"qymc",
xtype:"textfield",
fieldLabel:"企业名称",
readOnly:true,
style:"background:none;border:0px;",
width:210
}]
}]
},{//行2
layout:"column",
items:[{
columnWidth:.5,
layout:"form",
items:[{
name:"frdb",
xtype:"textfield",
fieldLabel:"法人代表",
readOnly:true,
style:"background:none;border:0px;"
}]
},{
columnWidth:.5,
layout:"form",
items:[{
name:"dh",
xtype:"textfield",
fieldLabel:"联系方式",
readOnly:true,
style:"background:none;border:0px;"
}]
}]
},{//行3
layout:"column",
items:[{
columnWidth:.5,
layout:"form",
items:[{
name:"czfp",
xtype:"textfield",
fieldLabel:"财政分片",
readOnly:true,style:"background:none;border:0px;"
}]
},{
columnWidth:.5,
layout:"form",
items:[{
name:"clrq",
xtype:"textfield",
fieldLabel:"成立日期",
readOnly:true,
style:"background:none;border:0px;"
}]
}]
},{//行4
layout:"column",
items:[{
columnWidth:.5,
layout:"form",
items:[{
name:"zczb",
xtype:"textfield",
fieldLabel:"注册资本",
readOnly:true,
style:"background:none;border:0px;"
}]
},{
columnWidth:.5,
layout:"form",
items:[{
xtype:"textfield",
value:"(元)",
fieldLabel:"【单位】",
readOnly:true,
style:"background:none;border:0px;font-weight:bold;color:red;",
labelStyle:"font-weight:bold;color:red;"
}]
}]
},{//行5
name:"dz",
xtype:"textfield",
fieldLabel:"联系地址",
readOnly:true,
style:"background:none;border:0px;",
width:332,
}],
buttons:[{
text:"审核通过",
handler:function(){
var swdjzh = auditForm.getForm().findField("swdjzh").getValue();
//异步发请求
Ext.Ajax.request({
url:"audit.reg?doType=auditEnterprise",
method:"POST",
params:{swdjzh:swdjzh,status:1},
success:function(response,option){
var result = Ext.util.JSON.decode(response.responseText);
if(result.success){
Ext.Msg.alert("成功","审核成功!");
auditWin.hide();
enStore.rejectChanges();
enStore.reload();
}
else{
Ext.Msg.alert("失败","审核失败!请重新审核");
auditWin.hide();
enStore.rejectChanges();
enStore.reload();
}
},
failure:function(response,option){
Ext.Msg.alert("失败","删除过程中发生错误!");
auditWin.hide();
enStore.rejectChanges();
enStore.reload();
}
});
}
},{
text:"审核不通过",
handler:function(){
var swdjzh = auditForm.getForm().findField("swdjzh").getValue();
//异步发请求
Ext.Ajax.request({
url:"audit.reg?doType=auditEnterprise",
method:"POST",
params:{swdjzh:swdjzh,status:0},
success:function(response,option){
var result = Ext.util.JSON.decode(response.responseText);
if(result.success){
Ext.Msg.alert("成功","审核成功!");
auditWin.hide();
enStore.rejectChanges();
enStore.reload();
}
else{
Ext.Msg.alert("失败","审核失败!请重新审核");
auditWin.hide();
enStore.rejectChanges();
enStore.reload();
}
},
failure:function(response,option){
Ext.Msg.alert("失败","审核过程中发生错误!");
auditWin.hide();
enStore.rejectChanges();
enStore.reload();
}
});
}
},{
text:"取消",
handler:function(){
auditWin.hide();
}
}]
});


5.后台代码:
else if ("auditEnterprise".equals(action)) {
String str;
int status = Integer.valueOf(request.getParameter("status"));
String swdjzh = request.getParameter("swdjzh");
EnDao enDao = new EnDao();
UserPostDao userDao = new UserPostDao();
boolean done = enDao.updateEnterpriseStatus(swdjzh, status);
if (done) {//更新企业信息成功
if (status == 1) {
done = userDao.updateUserStatus(swdjzh, 1);
if (!done) {//更新用户信息失败
enDao.updateEnterpriseStatus(swdjzh, 2);
}
}
else {
done = userDao.updateUserStatus(swdjzh, 0);
if (!done) {
enDao.updateEnterpriseStatus(swdjzh, 2);
}
}
}
if(done){
str="{success:true}";
}else{
str="{success:false}";
}
response.setContentType("text/html;charset=UTF-8");
PrintWriter out=response.getWriter();
out.print(str);
out.close();
return;
}

展示:


本文深入探讨了使用ExtJS进行表单数据的获取、赋值及重置方法,包括从form中获取field值、为textfield赋值以及实现form表单的重置。同时展示了如何在表格加载数据时自动给combo组件赋值,以及在表格中加入复选框并实现在点击某行时获取该行信息的功能。通过实例分析,详细阐述了在实际应用中如何运用这些方法来提升用户体验。
158

被折叠的 条评论
为什么被折叠?



