如何"unset" Dojo 日期文本框默认值?



我有一个JS叠加层,它将我的Web应用程序上的数据输入控件设置为道场小部件。 我获取像这样的输入,并将它们变成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,而是需要传递文字nullundefined。 我整理了一个 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');
});

斯菲德尔

相关内容

  • 没有找到相关文章

最新更新