(Extjs)编辑框无法获得焦点(高手帮忙啊,这问题网上也有很多人遇到过)

qq229 2009-10-17 12:00:55
以下代码大家只要在页面里配置好所需ext文件的路径即可。
程序说明:在页面被载完后会自动弹出一个窗口,窗口里有包含一个EditorGridPanel对象,单击年龄列下的单元格会出现编辑框(单击的时候会选中文本)。
我遇到的问题是:为什么我在关闭提示框的时候编辑框无法获得焦点,如果获得了焦点,该编辑框的文本应该是选中的啊,我就是想让他选中,但是不能啊,望高手帮帮忙啊,先谢谢。


<script type="text/javascript">Ext.onReady(function(){
var data=[[1,"张三",24],[2,"asd",23],[3,"asda",34]];
var Person=new Ext.data.Record.create(
[
{name:"personId",mapping:0},
{name:"personName",mapping:1},
{name:"personAge",mapping:2}
]
);
var grid=new Ext.grid.EditorGridPanel(
{
title:"asdsad",
width:800,
height:400,
frame:true,
//表示单击一次可以编辑,默认是2次
clicksToEdit : 1,
store:new Ext.data.Store(
{
reader:new Ext.data.ArrayReader({id:0},Person),
data:data
}
),
columns:[
{header:"id",width:80,dataIndex:"personId",sortable:false},
{header:"姓名",width:80,dataIndex:"personName",sortable:true},
{header:"年龄",width:80,dataIndex:"personAge",sortable:true,
editor:new Ext.form.NumberField(
{
selectOnFocus:true,
blur:function ()
{
if (this.getValue()<20) {
Ext.Msg.alert("提示","年龄不能小于20");
this.focus(true);
}

}
}
)}
]
}
);
function view()
{
var win = new Ext.Window({
id:"windows",
width:800,
height:400,
plain: true,
modal:true,//顶端显示
items: grid
});
win.show();
}
//调用view方法显示窗体
view();
});</script>

...全文
625 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
njyyao 2011-07-19
  • 打赏
  • 举报
回复
怎么解决的?
qq229 2009-10-17
  • 打赏
  • 举报
回复
谢谢4楼的朋友,问题已解决了
hookee 2009-10-17
  • 打赏
  • 举报
回复

<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css" />
<script type="text/javascript" src="extjs/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="extjs/ext-all.js"></script>
<script>
Ext.onReady(function(){
var data=[[1,"张三",24],[2,"asd",23],[3,"asda",34]];
var Person=new Ext.data.Record.create(
[
{name:"personId",mapping:0},
{name:"personName",mapping:1},
{name:"personAge",mapping:2}
]
);
var grid=new Ext.grid.EditorGridPanel(
{
title:"asdsad",
width:800,
height:400,
frame:true,
//表示单击一次可以编辑,默认是2次
clicksToEdit : 1,
store:new Ext.data.Store(
{
reader:new Ext.data.ArrayReader({id:0},Person),
data:data
}
),
columns:[
{header:"id",width:80,dataIndex:"personId",sortable:false},
{header:"姓名",width:80,dataIndex:"personName",sortable:true},
{header:"年龄",width:80,dataIndex:"personAge",sortable:true,
editor:new Ext.form.NumberField(
{
selectOnFocus:true,
blur:function ()
{
if (this.getValue()<20) {
Ext.Msg.alert("提示","年龄不能小于20", function(){
var a = grid.getSelectionModel().getSelectedCell();
grid.startEditing(a[0],a[1]);
});

}

}
}
)}
]
}
);
function view()
{
var win = new Ext.Window({
id:"windows",
width:800,
height:400,
plain: true,
modal:true,//顶端显示
items: grid
});
win.show();
}
//调用view方法显示窗体
view();


});

</script>
qq229 2009-10-17
  • 打赏
  • 举报
回复
高手帮忙啊,还没解决啊,我等的心都碎了
MuBeiBei 2009-10-17
  • 打赏
  • 举报
回复
实在是想不出办法来了~·试了半天都不成~·
sohighthesky 2009-10-17
  • 打赏
  • 举报
回复
无能为力,主要是blur里已经失去焦点了,然后NumberField已经隐藏了,然后再得到焦点也没用,
等lx高手

52,782

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧