ExtJS4.2学习(18)时间控件

鸣谢:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-12-22/190.html

感谢“束洋洋 ”的付出。

前言:以下博客内容全是拷贝上述网址的,不过是自己运行一遍罢了,做点记录。

一、事件控件一

1.效果图:

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="../ext-4.2.1/resources/ext-theme-neptune/ext-theme-neptune-all.css" rel="stylesheet">
<script src="../ext-4.2.1/ext-all.js"></script>
<script src="../ext-4.2.1/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>  

上面是官方给的时间控件效果,没有精确到秒,网上有人自己编写了事件控件,下载地址见本博客的鸣谢地址(有两个),下载后,见下节。

二、时间控件二

效果图:

代码:(注:下面代码的引用文件没有引用汉化的js,但没有出现乱码,所有就没有引用。)

<%@ 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>Insert title here</title>

<link rel="stylesheet" type="text/css" href="../ext-4.2.1/myplugin/datetime1/resources/css/ext-all.css"> 

<script type="text/javascript" src="../ext-4.2.1/myplugin/datetime1/ext-all.js"></script>
<script type="text/javascript" src="../ext-4.2.1/myplugin/datetime1/dateTimePicker.js"></script>
<script type="text/javascript" src="../ext-4.2.1/myplugin/datetime1/dateTimeField.js"></script> 

<script type="text/javascript">

Ext.onReady(function(){
    /* var form = Ext.create(‘Ext.form.Panel‘, {
        renderTo: Ext.getBody(),
        title: ‘简单示例‘,
        height : 500,
        layout : ‘hbox‘,
        items : [
            {
                xtype : ‘datetimefield‘,
                format : ‘Y-m-d H:i:s‘
            },
            {
                xtype : ‘datetimefield‘,
                format : ‘Y-m-d H:i:s‘
            }
        ]
    }); */

    var form = new Ext.form.FormPanel({
        title: ‘表单输入控件演示‘,
        width:500,
        frame: true,
        items: [{
            xtype:‘datetimefield‘,
            width : 300,
            labelWidth : 80,
            endDateField:‘etime‘,
            vtype:‘daterange‘,
            fieldLabel: ‘开始时间‘,
            format: ‘Y-m-d H:i:s ‘,
            name:‘stime‘
        },
        {
            xtype:‘datetimefield‘,
            width : 300,
            labelWidth : 80,
            startDateField:‘stime‘,
            vtype:‘daterange‘,
            fieldLabel: ‘结束时间‘,
            format: ‘Y-m-d H:i:s ‘,
            name:‘etime‘
        }],
        renderTo: ‘myform‘
    });
});
</script>
</head>
<body>
<div id="myform"></div>
</body>
</html>

项目结构如下:

说明:1.虽然此版本的时间控件可以精确到秒,但此版本从显示效果上看显然不是4.2.1版本的。2.此版本的时间控件在HTML中只能引用上图中datetime1文件夹中的文件,比如说不能引用"../ext-4.2.1/ext-all.js"代替"../ext-4.2.1/myplugin/datetime1/ext-all.js",所以说使用该控件是与Extjs4.2.1版本不统一的,并非理想方案。那么有没有与Extjs4.2.1版本相统一的时间控件呢?见下一节。

三、时间控件三

效果图:(注:此效果图并不是像本博客的其他效果图是经过本人运行出来的,而是直接拷贝本博客鸣谢网址中的。)

代码:

<%@ 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="../ext-4.2.1/resources/ext-theme-neptune/ext-theme-neptune-all.css" rel="stylesheet">
<script src="../ext-4.2.1/ext-all.js"></script>
<script src="../ext-4.2.1/locale/ext-lang-zh_CN.js"></script>  

<script type="text/javascript" src="../ext-4.2.1/myplugin/datetime1/UX_TimePickerField.js"></script>
<script type="text/javascript" src="../ext-4.2.1/myplugin/datetime1/UX_DateTimePicker.js"></script>
<script type="text/javascript" src="../ext-4.2.1/myplugin/datetime1/UX_DateTimeMenu.js"></script>
<script type="text/javascript" src="../ext-4.2.1/myplugin/datetime1/UX_DateTimeField.js"></script>
<script type="text/javascript">
Ext.onReady(function(){
    Ext.Loader.setConfig({enabled:true});
    Ext.define(‘‘, {
          extend: ‘Ext.form.field.Date‘,
          alias: ‘widget.datetimefield‘,
          requires: [‘Ext.ux.DateTimePicker‘],
          initComponent: function() {
              this.callParent();
          },
          // overwrite
          createPicker: function() {
              var me = this,
                  format = Ext.String.format;
              return Ext.create(‘Ext.ux.DateTimePicker‘, {
                    ownerCt: me.ownerCt,
                    renderTo: document.body,
                    floating: true,
                    hidden: true,
                    focusOnShow: true,
                    minDate: me.minValue,
                    maxDate: me.maxValue,
                    disabledDatesRE: me.disabledDatesRE,
                    disabledDatesText: me.disabledDatesText,
                    disabledDays: me.disabledDays,
                    disabledDaysText: me.disabledDaysText,
                    format: me.format,
                    showToday: me.showToday,
                    startDay: me.startDay,
                    minText: format(me.minText, me.formatDate(me.minValue)),
                    maxText: format(me.maxText, me.formatDate(me.maxValue)),
                    listeners: {
                        scope: me,
                        select: me.onSelect
                    },
                    keyNavConfig: {
                        esc: function() {
                            me.collapse();
                        }
                    }
                });
          }
      });
    var form = new Ext.form.FormPanel({
        title: ‘表单输入控件演示‘,
        width:500,
        frame: true,
        items: [{
            xtype:‘datetimefield‘,
            width : 300,
            labelWidth : 80,
            endDateField:‘etime‘,
            vtype:‘daterange‘,
            fieldLabel: ‘开始时间‘,
            format: ‘Y-m-d H:i:s ‘,
            name:‘stime‘
        },
        {
            xtype:‘datetimefield‘,
            width : 300,
            labelWidth : 80,
            startDateField:‘stime‘,
            vtype:‘daterange‘,
            fieldLabel: ‘结束时间‘,
            format: ‘Y-m-d H:i:s ‘,
            name:‘etime‘
        }],
        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>  

很可惜,没有运行出来,在谷歌浏览器上看的异常提示为:

Uncaught TypeError: m.onAdded is not a function

在 var form = new Ext.form.FormPanel({  这一行代码上。

原因目前未知。

时间: 2024-10-25 04:33:09

ExtJS4.2学习(18)时间控件的相关文章

rf对时间控件的操作

1.如何去掉readonly属性 前端对于时间控件的设置,有时是为了限制用户不能进行手动输入方式进行选择时间,避免在手动输入的时候超限或者输入格式不正确,导致一些不必要的验证麻烦,这是前端开发工程师就会在前端代码中加入readonly属性,但是对于手动测试来说的话,这种只能进行点击控件进行选择时间,而对于自动测试来说,这样的方式可能是行不通,因为这个需要认证时间控件的有效性很多个选择,自动化变得更加麻烦, 是不是就没有办法进行了呢?答案是否点的,例如: 那该怎么进行设置呢?这个是前人踩过的坑,后

Swift学习之熟悉控件

最近是比较清闲一些的,对于一个开发者来说,这也是一个很好的充电机会.以前做项目都是使用Objective-C去开发,但我们都知道,Swift语言从2014年的出现到现在,一步一步变的完善,渐渐变的受欢迎起来.apple似乎也把重心放在了Swift上,所以了解.学习Swift变的有必要了. 所以在这个空闲的时候,学习一下Swift控件,当然,如果说我在博客中一步步写出所有的控件的使用方法,就显得太费时间了.如果有一样想学switf,练习使用Swift控件的.可以直接下载我在GitHub上放的Dem

[转]一种简单的js时间控件

使用方法: 粘贴代码到文本文档中,文档名称为datetime.js,然后在html文件中引用如下代码即可 <input name="shijian1" id="shijian1" type="text" class="sang_Calender" /> <script type="text/javascript" src="js/datetime.js"><

访问调度控制 时间控件

Visulalization Voronoi in OpenSceneGraph [email protected] Abstract. In mathematics a Voronoi diagram is a way of dividing space into a number of regions. A set of points, called seeds, sites, or generators is specified beforehand and for each seed t

bootstrap 时间控件

最近使用了bootstrap的UI感觉确实很漂亮,非常值得学习和使用.下面先简单了解下bootstrap的时间控件. 这个时间控件使用起来还是非常的简单,只需要引入基本的css和js就可以了 需要引入的css和js:(文件引入路径根据自己的项目而定) <link href="<c:url value='/plugins/bootstrap-datetimepicker/css/datetimepicker.css'/>" rel="stylesheet&qu

worklight 中添加时间控件

在我们使用worklight开发的过程中,由于文档的不开源和插件的缺少,总是自己琢磨很多东东,更有胜者 需要调用源代码实现某些不易实现的功能.在这里把实现的功能代码贴出来,如有不足之处还望指正! 实现的步骤就不多说了,上篇中已经解说 实现日期插件 1 public class DatePickerPlugin extends CordovaPlugin { 2 3 private static final CordovaActivity ctx = null; 4 private static

vue小荔枝,时间控件,动态按月份增减。

依赖框架有jq,bootstrap3.0,vue2.0; 自封装(搬运)时间控件,bootstrap-datetimepicker.资源下载:看这里 需求: 默认本地时间,相隔一个月 四个选项:1一个月,一个季度,半年,一年. 如果结束日期不变,那么默认递增即可,如果结束日期改变了,以变更的日期递增月份. html结构: <div id="app"> <div class="col-md-5 form-inline"> <div cla

Android学习Scroller(三)——控件平移划过屏幕 (Scroller简单使用)

MainActivity如下: package cc.cn; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.app.Activity; /** * Demo描述: * Scroller使用示例--让控件平移划过屏幕 * * 参考资料: * http://blog.cs

jquery-ui日期时间控件实现

日期控件和时间控件为独立控件,日期时间控件要同一时候导入日期控件和时间控件的js,然后在日期控件加入时间控件显示參数,没有导入时间控件js.日期控件函数设置的时间控件參将包错 日期控件官网网址:http://jqueryui.com/ 日期控件js:jquery-ui.js 相应函数及默认属性设置:function Datepicker() 时间控件官网网址:http://plugins.jquery.com/jt.timepicker/ 时间控件js:jquery-ui-timepicker-