extjs 如何禁用日期时间控件

就是点击日期图标不会弹出日历或者日历被禁用了,是灰色的回答:如果还想把日期的值传到后台,你可以在表单里多加一个Hidden项,name与日期框的name相同就可以了。Ex... 就是点击日期图标不会弹出日历
或者日历被禁用了,是灰色的

回答:如果还想把日期的值传到后台,你可以在表单里多加一个Hidden项,name与日期框的name相同就可以了。Ext默认是disabled的表单项不会被提交的

这是一个解决问题的办法,我想知道有没有类似readonly(目前的满足不了需求)的属性,不仅不能手输入,而且重新选择的日期也不会改变原有的值。我是直接把xType改为textfield,并设置readonly为true,因为日期控件反正也用不着。这个东西涉及权限,有权限的可以改,没有的不可以改。但是,这样就需要维护两个页面了。
展开
 我来答
nanwang21
推荐于2017-12-16 · TA获得超过2943个赞
知道大有可为答主
回答量:1220
采纳率:82%
帮助的人:242万
展开全部
1、extjs日期控件禁用:设置editable:false这个属性即可。
editable:是否可编辑,默认为true 。

2、Extjs日期控件禁止用户输入(设置readOnly为true):
JScript 代码 :
{
xtype:"datefield",
format:"Y-m-d",
value:"1986-12-25",
readOnly:true, //设置为true为只读状态,禁止用户输入
fieldLabel:"Birth"
}

3、extjs DateField 的值用getValue()方法获取后是一大堆字符串,类似Tue Dec 07 2010 00:00:00 GMT 0800,存入数据库需要格式化一下,用EXT的Ext.util.Format.date()方法:
var gedt = Ext.util.Format.date(日期控件.getValue(), 'Y-m-d');
出来的日期格式就是 2010-10-10。
死灵彼尔
2011-12-28 · TA获得超过516个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:191万
展开全部
如果还想把日期的值传到后台,你可以在表单里多加一个Hidden项,name与日期框的name相同就可以了。Ext默认是disabled的表单项不会被提交的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李迅宇
2011-12-30 · TA获得超过121个赞
知道答主
回答量:105
采纳率:0%
帮助的人:78.5万
展开全部
可以这样迁就着解决:先设置日期控件 disable : false, 然后在formPanel 提交前,再取得控件把它 disable : true , 就可以满足你的需求了.
更多追问追答
追问
不行。这样,我就可以在你提交前修改了。
追答
用户在页面已经点了提交按钮,怎么会再修改呢?估计你没明白我的意思
if (conf.formPanel.getForm().isValid()) {
//在这里取得日期控件把disable : true ,
conf.formPanel.getForm().submit({
//这里提交就有日期那个参数了,
//假如你的表单提交完之后不关闭窗口,那可以在
success : function(action,e){
//在这里面再把日期控件disable : false就可以了
}
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-12-28
展开全部
在日期配置中加
disabled : true
就行了
追问
但是原来的数据是没法传到后台的。
追答
什么意思,你要禁用Ext日期控件,在日期控件配置中设置这句就行了,又关后台什么事了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鸵鸟大
2012-01-03 · 超过28用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:73万
展开全部
editable:false
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式