簡體   English   中英

如何獲取Dojo DateTextBox小部件的內部值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM