⑴ Extjs中重置按钮获取不到form,显示TypeError: this.up(...) is undefined
this.up('form').getForm()中this.up()没有定义(声明)(类型错误)
查找代码中哪些地方出现了this.up(),看下是否有相关定义声明,或者说调用出错
⑵ extjs4.x如何获取纯html写的表单数据
表单是用来获取用户输入的一些数据,最常见的就是注册,登录之类的;
html5表单数据获得方法:
1、首先,打开IDEA软件,并新建一个工程,建好后,右键创建一个html5文件,完成后便完成了最开始的工作;
2、接着先熟悉一些较常用的表单标签:表单<form>, 输入域<input>,文本域<textarea>,按钮<button>,域的标题<legend>,控制标签<label>等。
⑶ ExtJs获取文本框中值的几种方式
能想到的只有两种方式
获取文本框 , 然后通过文本框获取值 , 比如 文本框对象是 field
value = field.getValue();
value = field.value; //不推荐
获取文本框所在form , from获取整个form的值 , 在获取对应的field的值
var vs = form.getForm().getValues();
var value = vs["这里是文本框的名称"];
不知道你是什么环境会有这个问题....
⑷ 高分请教!java与extjs结合,grid中选中一行数据后,进行form表单提交查询,怎么才能拿到所选数据
简单啊
假设你grid 对象是 grid
var recordtoedit = grid.getSelectionModel().getSelected();
这个就是取到你选中单行的record,选择多行的不是这个哦
得到这个 record后 直接 record.get("你的属性名")就可以取到值了
后面如何传递值到你的form你需要的话 也可以发消息来咨询
⑸ extjs怎么获取后台的数据或者是变量。。。求大神速回
1. 使用form表单提交
使用表单提交是调用了表单的submit方法,其配置项包括url、method等。这种方式能够以JSON的形式提交参数信息。
var myform = Ext.create('Ext.form.Panel',{undefined
defaultType: 'textfield',
items:[{undefined
fieldLabel : 'Name',
name : 'name'
},{undefined
fieldLabel: 'Gender',
name : 'gender'
},{undefined
fieldLabel : 'Age',
name: 'age'
}],
buttons: [{undefined
text : 'load',
handler : function(){undefined
this.up('form').getForm().submit({undefined
url: '/request/userinfo',
method : 'POST',
success : function(form, action){undefined
console.log(form);
Ext.Msg.alert('title', 'load success');
});
}]);
2. 使用Ajax异步提交
将上述handler方法中的内容换成一下代码即可。在Ajax的request方法中是一个配置对象,其配置参数包括url,type,params。其中params表示要提交的参数,在此例中是从form表单中通过getValues()方法获得的。该种方式也能将参数一JSON的方式提交到后台,与一个对象匹配。
var values = this.up('form').getForm().getValues();
Ext.Ajax.request({undefined
url:'/request/userinfo',
headers : {undefined'userHeader': 'userMsg'},
type:'POST',
params:values,
success:function(response){undefined
var data = response.responseText;
console.log(data);
console.log("success");
},
});
3. 使用Ext.data.Store
在项目中经常需要通过提交一些数据来从后台获取相应的信息。例如,在表单中输入某个人的id和name就可以查出它的相关信息并在前台显示。一个关于extjs的例子如下:
//data Model
Ext.define('User',{undefined
extend: 'Ext.data.Model',
fields: [{name:'name',type:'string'},
{name:'gender',type:'string'},
{name:'age',type:'string'}
]
});
var userStore = Ext.create('Ext.data.Store',{undefined
model: 'User',
pageSize: 20,
// autoLoad : true,
proxy: {undefined
type : 'ajax', //提交数据的方式
url : '/request/userinfo',
reader : { //以json的形式读取将要提交的数据
type : 'json',
root : 'resultList'
},
writer : {undefined
type : 'json'
},
actionMethods : {undefined
create : 'POST'
}
},
});
//grid Panel
Ext.create('Ext.grid.Panel',{undefined
store: userStore,
columns: [
{header : 'Name', dataIndex : 'name'},
{header : 'Gender', dataIndex : 'gender'},
{header : 'Age', dataIndex : 'age'}
],
height: 200,
width: 400,
renderTo: 'div2'
});
//form Panel
var myform = Ext.create('Ext.form.Panel',{undefined
defaultType: 'textfield',
items:[{undefined
fieldLabel: 'Name',
name: 'name'
},{undefined
fieldLabel: 'Gender',
name: 'gender'
},{undefined
fieldLabel : 'Age',
name : 'age'
}],
buttons: [{undefined
text: 'load',
handler: function(){undefined
var values = this.up('form').getForm().getValues();
console.log(values);
userStore.proxy.extraParams=values;
userStore.loadPage(1);
}
}
});
在handler方法中获取form表单的参数后,赋值给userStore.proxy.extraParams,然后调用userStore.loadPage(1)。调用loadPage()方法时,会委托给proxy对象去后台获取数据。所以对proxy的配置是核心。使用这个方式从后台获取数据时,后台接口返回的对象应该包括一个List字段,list中包含所需要的具体信息。比如
@ReponseBody
public UserInfoResp getUserInfo(User user) {undefined
}
UserInfoResp应该像这样有一个List字段
class UserInfoResp {undefined
List<User> resulltList;
}