我在html文件中有一个dojo文本框。现在我想以字符串格式'yyyy-mm-dd'从文本框中检索日期。我该怎么办?
dojoType="dijit.form.DateTextBox"
我该怎么做?
答案 0 :(得分:7)
假设您使用widget
或dijit.byId(...)
等内容对DateTextBox小部件有一个引用dijit.byNode(dojo.query(...))
,这将获得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'});
答案 1 :(得分:4)
试试这个: 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" />
答案 2 :(得分:0)
这是一个老问题,但你可以使用小工具toString
method。
var isoString = dijit.byId(widgetId).toString();