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

jsl*_*ner 6 dojo date

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

  dojoType="dijit.form.DateTextBox"
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

pel*_*ler 7

假设您widget使用类似dijit.byId(...)or的东西引用了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'});
Run Code Online (Sandbox Code Playgroud)


And*_*rei 5

试试这个:HTML:

<input type="text" name="date1" id="date1" value="2005-12-30"
   dojotype="dijit.form.DateTextBox" required="true" />
Run Code Online (Sandbox Code Playgroud)

要获取显示值,您可以使用日期文本框的这种方法:

// get widget:
    var dtb = dijit.byId('date1');
// get value
    alert(dtb.get('displayedValue'));
Run Code Online (Sandbox Code Playgroud)

注意*

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" />
Run Code Online (Sandbox Code Playgroud)

HTML 页面 - 示例