【发布时间】:2011-04-12 12:28:27
【问题描述】:
我在 html 文件中有一个 dojo 文本框。现在我想以字符串格式“yyyy-mm-dd”从文本框中检索日期。我该怎么做?
dojoType="dijit.form.DateTextBox"
我该怎么做?
【问题讨论】:
我在 html 文件中有一个 dojo 文本框。现在我想以字符串格式“yyyy-mm-dd”从文本框中检索日期。我该怎么做?
dojoType="dijit.form.DateTextBox"
我该怎么做?
【问题讨论】:
假设您使用dijit.byId(...) 或dijit.byNode(dojo.query(...)) 之类的方式引用widget 到您的DateTextBox 小部件,这将获取Javascript Date 对象并根据ISO 8601 标准(yyyy-mm-dd) 对其进行格式化,独立您碰巧使用的显示器或区域设置
dojo.require('dojo.date.stamp');
...
var dateObject = widget.get('value');
var isoFormat = dojo.date.stamp.toISOString(dateObject, {selector: 'date'});
【讨论】:
试试这个: HTML:
<input type="text" name="date1" id="date1" value="2005-12-30"
dojotype="dijit.form.DateTextBox" required="true" />
要获得显示的值,您可以使用日期文本框的这种方法:
// get widget:
var dtb = dijit.byId('date1');
// get value
alert(dtb.get('displayedValue'));
注意*:
Dojo 根据用户区域设置日期格式。
如果您可以使用与用户区域设置格式不同的格式,则需要为日期文本框指定约束属性。
<input type="text" name="date1" id="date1" value="2005-12-30"
constraints="{datePattern:'yyyy-MM-dd', strict:true}"
dojotype="dijit.form.DateTextBox" required="true" />
【讨论】:
这是一个老问题,但您可以使用小部件的toString method。
var isoString = dijit.byId(widgetId).toString();
【讨论】: