在ExtJs4.2表单控件里有个时间控件,但是官方提供的控件不能将日期和时分秒整合到一起,我从网上搜集整理了几个可用的控件。先来看下4.2自带的是什么效果:
上面的控件一点都不方便,而且选择的时候还不能精确到秒,以下是代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hello Extjs4.2</title>
<link href="../../ExtJS4.2/resources/ext-theme-neptune/ext-theme-neptune-all.css" rel="stylesheet">
<script src="../../ExtJS4.2/ext-all.js"></script>
<script src="../../ExtJS4.2/locale/ext-lang-zh_CN.js"></script>
<script type="text/javascript">
Ext.onReady(function(){
var field = new Ext.form.TextField({
fieldLabel: ‘empty‘, //输入控件前显示名称
allowBlank: false, //是否允许为空
emptyText:‘空‘, //没有输入任何内容提示文字
maxLength:50, //输入最大字符串长度
minLength:10 //输入最小字符串长度
});
var fieldTextArea = new Ext.form.TextArea({
width:200,
grow:true, //会根据输入内容自动修改自身高度
preventScrollbars:true, //防止出现滚动条,如果内容超出显示范围就会自动隐藏
fieldLabel:‘empty‘,
allowBlank:false,
emptyText:‘空‘,
maxLength:50,
minLength:10
});
var fieldDate = new Ext.form.DateField({
fieldLabel:‘日期‘,
emptyText:‘请选择‘,
format:‘Y-m-d‘,
disabledDays:[0,6] //禁止选择的日期
});
var timeDate = new Ext.form.TimeField({
fieldLabel:‘时间‘,
emptyText:‘请选择‘,
format:‘H:i:s‘,
increment:1 //时间颗粒度
});
var form = new Ext.form.FormPanel({
title: ‘表单输入控件演示‘,
width:500,
frame: true,
items: [field,fieldTextArea,fieldDate,timeDate],
renderTo: ‘form‘
});
});
</script>
</head>
<body>
<h1>我的ExtJS4.2学习之路</h1>
<hr />
作者:束洋洋
开始日期:2013年12月11日21:13:50
<h2>深入浅出ExtJS之文本输入控件Ext.form.TextField</h2>
<div id="form"></div>
</body>
</html>
这里介绍下increment属性,这个属性是控制时间颗粒度的,默认为15,我这里改为了1,也就是可以选择1分钟,但是秒还是选择不了。在ExtJs3.2中,网上有些人才写了些扩展控件,我发现非常好,但是非常遗憾,4.2用不了,3.X和4.x区别还是挺大的,具体的区别大家可以上网搜下看看。