Javascript 如何";“未设置”;DojoDateTextBox默认值?
我有一个JS覆盖层,它将我的web应用程序上的数据输入控件设置为dojo小部件。我抓取像这样的输入,并将它们转换成Javascript 如何";“未设置”;DojoDateTextBox默认值?,javascript,dojo,dijit.form,dojo-1.9,Javascript,Dojo,Dijit.form,Dojo 1.9,我有一个JS覆盖层,它将我的web应用程序上的数据输入控件设置为dojo小部件。我抓取像这样的输入,并将它们转换成DateTextBox小部件 这是我的基本代码: var df = dateformat; df.replace('mm', 'MM'); var val = input.value; if (val == undefined){ val = '';
DateTextBox
小部件
这是我的基本代码:
var df = dateformat;
df.replace('mm', 'MM');
var val = input.value;
if (val == undefined){
val = '';
}
return new datebox({
"label": input.title,
"value": val,
"name": input.name,
"id": input.id,
"constraints": { "datePattern": df }
});
我的问题是,如果没有提供值,则所有DateTextBox的结尾都设置为“1970-00-01”作为初始日期。如果没有提供值,我希望将它们设置为null或undef,但在启动之前这似乎是不可能的
在调用
widget.startup()
之前,是否有方法设置此设置?而不是将空字符串传递给DateTextBox,您需要传递文本null
或未定义的
。我制作了一个JSFIDLE,演示了不同类型的值以及它们最初的显示方式:
require(['dijit/form/DateTextBox', 'dojo/domReady!'], function (DateTextBox) {
//initial value current date
new DateTextBox({
value: new Date()
}).placeAt('myBody');
//no value
new DateTextBox({
}).placeAt('myBody');
//null value
new DateTextBox({
value: null
}).placeAt('myBody');
//undefined value
new DateTextBox({
value: undefined
}).placeAt('myBody');
//empty string value
new DateTextBox({
value: ''
}).placeAt('myBody');
});