Javascript 如何获取DojoDateTextBox小部件的内部值?
我在表单上有一个Javascript 如何获取DojoDateTextBox小部件的内部值?,javascript,date,dojo,Javascript,Date,Dojo,我在表单上有一个dijit/form/DateTextBox,我需要从中获取内部隐藏值(格式为yyyy-MM-dd),并将其添加到AJAX请求的URL中。 我该怎么做?DateTextBox的任何一种方法都会给我这个值吗 我对该字段的HTML是: <input id="ialFromDate"> 如果我使用浏览器UI将该值设置为2015年9月1日,它将显示为“01/09/2015”,并且有一个隐藏的input元素的值为“2015-09-01”,如预期的那样 我想得到隐藏的输入元素的确切值
dijit/form/DateTextBox
,我需要从中获取内部隐藏值(格式为yyyy-MM-dd),并将其添加到AJAX请求的URL中。我该怎么做?
DateTextBox
的任何一种方法都会给我这个值吗
我对该字段的HTML是:
<input id="ialFromDate">
如果我使用浏览器UI将该值设置为2015年9月1日,它将显示为“01/09/2015”,并且有一个隐藏的input
元素的值为“2015-09-01”,如预期的那样
我想得到隐藏的输入
元素的确切值
我使用了以下代码进行测试:
var date1=fDate1.get('value');
console.log('date1='+date1);
控制台输出为:date1=2015年9月1日星期二00:00:00 GMT+1000(澳大利亚东部标准时间)
这不是我需要的,也不是我期望的。您可以尝试
fDate1.valueNode.value
。fDate1是包含此隐藏DOM节点(fDate1.valueNode)的DateTextBox对象。如果获得隐藏DOM节点的值,则可以获得DateTextBox中显示的字符串值。通过get('value')
接收的值实际上是一个完整的日期对象,它可以有效地使您以各种方式获得所需的任何格式。例如:
var date1 = fDate1.get('value');
// stamp = dojo/date/stamp
console.log(stamp.toISOString(date1).slice(0, 10));
这似乎是以所需格式获取日期值的最简单方法:
var date1=fDate1.valueNode.value;
虽然我在Dojo文档中找不到任何关于dijit/form/DateTextBox
的valueNode
,但它仍然有效
几个小时前,其他人将此解决方案作为我问题的答案或评论发布,但似乎已被删除。谢谢,但我找到了一个更简单的解决方案,我已将其添加到我自己问题的答案中。将此标记为答案,因为您先发布,并在评论删除后花时间进行修改。我怀疑如果不是这样的话我会解决的。
var date1=fDate1.valueNode.value;