我在表单上有dijit/form/DateTextBox
,我需要从中获取内部隐藏值(格式为yyyy-MM-dd)并将其添加到AJAX请求的URL中。
我该怎么做呢? DateTextBox
的任何一种方法都能给我这个价值吗?
该字段的HTML是:
<input id="ialFromDate">
我正在用这个javascript:
创建一个固定显示格式的小部件var fDate1=new DateTextBox({constraints:{datePattern:'dd/MM/yyyy'}},'ialFromDate');
fDate1.startup();
如果我使用浏览器UI将值设置为2015年9月1日,则显示为“01/09/2015”,并且隐藏的input
元素的值为“2015-09-01”,如预期的那样。
我想获得隐藏的input
元素的确切值。
我已使用以下代码进行测试:
var date1=fDate1.get('value');
console.log('date1='+date1);
控制台输出为:
date1=Tue Sep 01 2015 00:00:00 GMT+1000 (AUS Eastern Standard Time)
这不是我需要的,而不是我所期望的。
答案 0 :(得分:1)
这似乎是以所需格式获取日期值的最简单方法:
var date1=fDate1.valueNode.value;
虽然我在valueNode
的Dojo文档中找不到dijit/form/DateTextBox
,但它确实有用。
其他人在几小时前将此解决方案作为答案或评论发布,但这似乎已被删除。
答案 1 :(得分:0)
您可以尝试fDate1.valueNode.value
。 fDate1是DateTextBox对象,它包含这个隐藏的DOM节点(fDate1.valueNode)。如果获得该隐藏DOM节点的值,则可以使用DateTextBox中的字符串值。
答案 2 :(得分:0)
通过get('value')
收到的值实际上是一个完整的Date对象,它可以有效地使您以各种方式获得所需的任何格式。例如:
var date1 = fDate1.get('value');
// stamp = dojo/date/stamp
console.log(stamp.toISOString(date1).slice(0, 10));