首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Dojo Dijit DateTextBox 使用实践(1)

Dojo Dijit DateTextBox 使用实践(1)

Dojo DateTextBox 简介Dojo 是一个开源的基于 JavaScript 的 Web 界面开发框架,它对常用对象进行了包装并提供一系列 widgets 来简化用户界面的开发。Dojo 的一个重要特性就是提供了良好的本地化支持机制。包括时间/日期格式的本地化和使用不同的日历。Dojo 提供了一系列的支持本地化的输入型 Widgets,其中包括:ValidationTextBox,CurrencyTextBox,NumberTextBox,DateTextBox,TimeTextBox,这些 TextBox 本身就可以自动完成货币,数字,日期时间等的格式的本地化,但是在实际项目中会遇到一些新的问题,以及需要自定义一些 widget。
DateTextBox 就是一个允许用户输入和日历选择的易于使用的日期小控件。DateTextBox 控件有一些自己的属性可以设置,表 1 和表 2 列出了 DateTextBox 常用的一些属性和方法的介绍及实例。
表 1. DateTextBox 常用属性 属性  描述  例子 constraints
用户自定义的参数集合
this.DateTextBox.set("constraints", {
selector: "date",
datePattern: "dd/MM/y",
locale: "fr-fr"
});
lang
设置用户语言环境,覆盖默认的 dojo locale
this.DateTextBox.set("lang", dojo.config.culturalLocale);
// dojo.config.culturalLocale 是获取到的浏览器 locale
required
是否允许为空,true:不允许为空;false:允许为空
This.DateTextBox.set("required",true);
value
对应 HTML<input>元素的属性
This.DateTextBox.set("value", new Date());
displayedValue
实时显示出来的值
this. DateTextBox.get("displayedValue")
domNode
DateTextBox 规范的顶级节点
dojo.addClass(this.DateTextBox.domNode, "ls-inputError");

表 2. DateTextBox 常用方法 方法  描述  例子 postMixInProperties()
在控件的 DOM 对象创建前对 Widget 的变量进行处理,可以在子类中覆写这个方法;
postMixInProperties: function () {
this.valueLabel = dojo.i18n.getLocalization(""g11n.messages"", " CommonResources", "zh-CN");
postCreate()
覆写初始化函数,大部分可以初始化操作可以在这处理,如绑定事件和设置 CSS 属性。
postCreate: function(){
this.DateTextBox.set("constraints", 'dd-MM-yyyy');
this. DateTextBox.set("lang","zh-CN");
}
_getValueAttr()
从文本框中获取日期信息
_getValueAttr: function() {
return this. DateTextBox.get("value");
}
_setValueAttr(value, priorityChange, formattedValue)
设置这个文本框的日期。设置的值可以是 JavaScript 日期或要解析的字符串。
_getValueAttr:function(value){
this. DateTextBox.set("value", dojo.date.locale.parse(value, {selector: "date",
datePattern: formattedValue, locale: "en-us"))
}
loadAndOpenDropDown()
使得 DateTextBox 获得鼠标焦点
popupCalendar: function() {
this.dateTextBox.focus(); this.dateTextBox.loadAndOpenDropDown();
}
displayMessage(message)
这是一个重写的方法,用来显示验证错误和提示信息,默认情况下使用 tooltip 显示提示信息
this.DateTextBox.displayMessage = dojo.h
返回列表