如何从给定格式的dijit.form.DateTextBox获取日期?

时间:2011-04-12 12:28:28

标签: date dojo

我在html文件中有一个dojo文本框。现在我想以字符串格式'yyyy-mm-dd'从文本框中检索日期。我该怎么办?

  dojoType="dijit.form.DateTextBox"

我该怎么做?

3 个答案:

答案 0 :(得分:7)

假设您使用widgetdijit.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" />

HTML Page - example

答案 2 :(得分:0)

这是一个老问题,但你可以使用小工具toString method

var isoString = dijit.byId(widgetId).toString();