[英]How to get internal value of Dojo DateTextBox widget?
我在dijit/form/DateTextBox
上有一個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();
如果我使用瀏覽器用戶界面將值設置為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)
這不是我所需要的,也不是我所期望的。
這似乎是獲取所需格式的日期值的最簡單方法:
var date1=fDate1.valueNode.value;
盡管我在Dojo文檔中沒有找到dijit/form/DateTextBox
valueNode
,但它仍然有效。
幾個小時前,其他人將此解決方案發布為我的問題的答案或評論,但此后似乎已被刪除。
您可以嘗試fDate1.valueNode.value
。 fDate1是DateTextBox對象,其中包含此隱藏的DOM Node(fDate1.valueNode)。 如果獲得該隱藏的DOM節點的值,則可以獲取在DateTextBox中看到的字符串值。
通過get('value')
收到get('value')
實際上是一個成熟的Date對象,它應該有效地使您能夠以各種方式獲取所需的任何格式。 例如:
var date1 = fDate1.get('value');
// stamp = dojo/date/stamp
console.log(stamp.toISOString(date1).slice(0, 10));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.