javascript dojo dijit.form dojo-1.9

javascript - ¿Cómo "desarmar" Dojo datetextbox por defecto?



dijit.form dojo-1.9 (1)

Tengo una capa de superposición JS que configura controles de entrada de datos en mi aplicación web como widgets de Dojo. Cojo entradas como <input type = "text" class = "date" /> y las convierto en widgets de DateTextBox .

Aquí está mi código básico:

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 } });

Mi problema es que todos los DateTextBox terminan con ''1970-00-01'' como la fecha inicial si no se proporciona ningún valor. Me gustaría que se establezca en null o undef si no se proporciona ningún valor, pero esto no parece posible hasta después del inicio.

¿Hay alguna manera de configurar esto antes de llamar a widget.startup() ?


En lugar de pasar cadena vacía al DateTextBox, debe pasar el literal null o undefined . Arreglé un jsfiddle que demuestra los diferentes tipos de valores y cómo se muestran inicialmente:

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''); });

jsfiddle