Chr*_*ers 3 javascript dojo dijit.form dojo-1.9
我有一个JS覆盖层,它在我的Web应用程序上设置数据输入控件作为dojo小部件.我抓住像<input type ="text"class ="date"/>这样的输入并将它们变成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 }
});
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果没有提供任何值,所有DateTextBox的最终设置为'1970-00-01'作为初始日期.如果没有提供任何值,我希望将它们设置为null或undef,但这在启动之后似乎不可能.
在我打电话之前有没有办法设置这个widget.startup()
?
而不是将空字符串传递给DateTextBox,您需要传递文字null
或undefined
.我整理了一个jsfiddle,演示了不同类型的值以及它们最初的显示方式:
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');
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2406 次 |
最近记录: |