dojo之日期DateTextBox篇

来源:互联网 发布:淘宝知己知彼软件 编辑:程序博客网 时间:2024/05/24 02:07

1、设计思路

(1)利用dojo的DateTextBox设计出四组日期格式以及选择日期类型;

(2)控制日期的格式,分别显示年月日、年月和年份三种,另外一种是利用RadioButton选择日期格式

2、设计步骤

     第一步:设置开始日期和结束日期

<label for="startDate" style='color:#FF0000;'>开始日期:</label>                    <input id="startDate"                            data-dojo-type="dijit/form/DateTextBox"   data-dojo-props='type:"text",                                             style:"width:100px;",                                            name:"startDate",                                             constraints:{datePattern:"yyyy-MM-dd"},                                            required:true,                                            value:new Date(),    onChange:function(){ dijit.byId("endDate").constraints.min = this.get("value"); } '/>

<label for="endDate" style='color:#FF0000;'>结束日期:</label>                    <input id="endDate"                            data-dojo-type="dijit/form/DateTextBox"   data-dojo-props='type:"text",                                             style:"width:100px;",                                            name:"endDate",                                             constraints:{datePattern:"yyyy-MM-dd"},                                            required:true,                                            value:new Date(),    onChange:function(){ dijit.byId("startDate").constraints.min = this.get("value"); } '/>

显示结果如下图:


    第二步:设置开始月份和结束月份

<label for="startMonth" style='color:#00FF00;'>开始月份:</label>                    <input id="startMonth"                            data-dojo-type="dijit/form/DateTextBox"   data-dojo-props='type:"text",                                             style:"width:100px;",                                            name:"startMonth",                                             constraints:{datePattern:"yyyy-MM"},                                            required:true,                                            value:new Date(),    onChange:function(){ dijit.byId("endMonth").constraints.min = this.get("value"); } '/>

<label for="endMonth" style='color:#00FF00;'>结束月份:</label>                    <input id="endMonth"                            data-dojo-type="dijit/form/DateTextBox"   data-dojo-props='type:"text",                                             style:"width:100px;",                                            name:"endMonth",                                             constraints:{datePattern:"yyyy-MM"},                                            required:true,                                            value:new Date(),    onChange:function(){ dijit.byId("startMonth").constraints.min = this.get("value"); } '/>

显示结果如下图:


    第三步:设置开始年份和结束年份

<label for="startYear" style='color:#0000FF;'>开始年份:</label>                    <input id="startYear"                            data-dojo-type="dijit/form/DateTextBox"   data-dojo-props='type:"text",                                             style:"width:100px;",                                            name:"startYear",                                             constraints:{datePattern:"yyyy"},                                            required:true,                                            value:new Date(),    onChange:function(){ dijit.byId("endYear").constraints.min = this.get("value"); } '/>

<label for="endYear" style='color:#0000FF;'>结束年份:</label>                    <input id="endYear"                            data-dojo-type="dijit/form/DateTextBox"   data-dojo-props='type:"text",                                             style:"width:100px;",                                            name:"endYear",                                             constraints:{datePattern:"yyyy"},                                            required:true,                                            value:new Date(),    onChange:function(){ dijit.byId("startYear").constraints.min = this.get("value"); } '/>


显示结果如下:


   

   第四步:设置选日和选月

<input type='radio' data-dojo-type='dijit/form/RadioButton' name='date' checked='checked'/>                    <label for="byDay" style='color:#00FFFF;'>按日:</label>                    <input id="byDay"                            data-dojo-type="dijit/form/DateTextBox"   data-dojo-props='type:"text",                                             style:"width:100px;",                                            name:"byDay",                                             constraints:{datePattern:"yyyy-MM-dd"},                                            required:true,                                            value:new Date()'/>

<input type='radio' data-dojo-type='dijit/form/RadioButton' name='date'/>                    <label for="byMonth" style='color:#00FFFF;'>按月:</label>                    <input id="byMonth"                            data-dojo-type="dijit/form/DateTextBox"   data-dojo-props='type:"text",                                             style:"width:100px;",                                            name:"byMonth",                                             constraints:{datePattern:"yyyy-MM"},                                            required:true,                                            value:new Date()'/>

显示结果如下:


3、附录

源码:

<!DOCTYPE html><!--To change this license header, choose License Headers in Project Properties.To change this template file, choose Tools | Templatesand open the template in the editor.--><html>    <head>        <title>DateTextBox</title>        <meta charset="UTF-8">        <meta name="viewport" content="width=device-width">        <link  rel="stylesheet" href="../script/dojoroot/dijit/themes/claro/claro.css"/>        <script type="text/javascript" src="../script/dojoroot/dojo/dojo.js" data-dojo-config="isDebug: true, parseOnLoad: true"></script>        <style type="text/css">            body{                width:100%;                height:100%;                font-size:12px;            }            #tab{                width:80%;                height:30px;                font-weight:bold;            }        </style>        <script type="text/javascript">            dojo.require("dijit.form.DateTextBox");        </script>    </head>    <body class="claro" role="main">        <table id="tab">            <tr>                <!--设置开始日期-->                <td>                    <label for="startDate" style='color:#FF0000;'>开始日期:</label>                    <input id="startDate"                            data-dojo-type="dijit/form/DateTextBox"   data-dojo-props='type:"text",                                             style:"width:100px;",                                            name:"startDate",                                             constraints:{datePattern:"yyyy-MM-dd"},                                            required:true,                                            value:new Date(),    onChange:function(){ dijit.byId("endDate").constraints.min = this.get("value"); } '/>                </td>                <!--设置开始月份-->                <td>                    <label for="startMonth" style='color:#00FF00;'>开始月份:</label>                    <input id="startMonth"                            data-dojo-type="dijit/form/DateTextBox"   data-dojo-props='type:"text",                                             style:"width:100px;",                                            name:"startMonth",                                             constraints:{datePattern:"yyyy-MM"},                                            required:true,                                            value:new Date(),    onChange:function(){ dijit.byId("endMonth").constraints.min = this.get("value"); } '/>                </td>                <!--设置开始年份-->                <td>                    <label for="startYear" style='color:#0000FF;'>开始年份:</label>                    <input id="startYear"                            data-dojo-type="dijit/form/DateTextBox"   data-dojo-props='type:"text",                                             style:"width:100px;",                                            name:"startYear",                                             constraints:{datePattern:"yyyy"},                                            required:true,                                            value:new Date(),    onChange:function(){ dijit.byId("endYear").constraints.min = this.get("value"); } '/>                </td>                <!--设置按日-->                <td>                    <input type='radio' data-dojo-type='dijit/form/RadioButton' name='date' checked='checked'/>                    <label for="byDay" style='color:#00FFFF;'>按日:</label>                    <input id="byDay"                            data-dojo-type="dijit/form/DateTextBox"   data-dojo-props='type:"text",                                             style:"width:100px;",                                            name:"byDay",                                             constraints:{datePattern:"yyyy-MM-dd"},                                            required:true,                                            value:new Date()'/>                </td>            </tr>            <tr>                <!--设置结束日期-->                <td>                    <label for="endDate" style='color:#FF0000;'>结束日期:</label>                    <input id="endDate"                            data-dojo-type="dijit/form/DateTextBox"   data-dojo-props='type:"text",                                             style:"width:100px;",                                            name:"endDate",                                             constraints:{datePattern:"yyyy-MM-dd"},                                            required:true,                                            value:new Date(),    onChange:function(){ dijit.byId("startDate").constraints.min = this.get("value"); } '/>                </td>                 <!--设置结束月份-->                <td>                    <label for="endMonth" style='color:#00FF00;'>结束月份:</label>                    <input id="endMonth"                            data-dojo-type="dijit/form/DateTextBox"   data-dojo-props='type:"text",                                             style:"width:100px;",                                            name:"endMonth",                                             constraints:{datePattern:"yyyy-MM"},                                            required:true,                                            value:new Date(),    onChange:function(){ dijit.byId("startMonth").constraints.min = this.get("value"); } '/>                </td>                <!--设置结束年份-->                <td>                    <label for="endYear" style='color:#0000FF;'>结束年份:</label>                    <input id="endYear"                            data-dojo-type="dijit/form/DateTextBox"   data-dojo-props='type:"text",                                             style:"width:100px;",                                            name:"endYear",                                             constraints:{datePattern:"yyyy"},                                            required:true,                                            value:new Date(),    onChange:function(){ dijit.byId("startYear").constraints.min = this.get("value"); } '/>                </td>                <!--设置按月-->                <td>                    <input type='radio' data-dojo-type='dijit/form/RadioButton' name='date'/>                    <label for="byMonth" style='color:#00FFFF;'>按月:</label>                    <input id="byMonth"                            data-dojo-type="dijit/form/DateTextBox"   data-dojo-props='type:"text",                                             style:"width:100px;",                                            name:"byMonth",                                             constraints:{datePattern:"yyyy-MM"},                                            required:true,                                            value:new Date()'/>                </td>            </tr>        </table>     </body></html>



1 0
原创粉丝点击