我正在努力动态创建dijit.form.DateTextBox
,然后将其添加到现有文档中。我尝试了几件事,首先是通过new dijit.form.DateTextBox
动态创建字段,然后通过domConstruct
添加字段。通过这种方法,我最终得到了
“未捕获的TypeError:无法在'Node'上执行'appendChild': 参数1不是'Node'类型。“
当我尝试使用一个字符串动态创建它时,如果我以声明方式创建它,那么我会使用它,我最终会得到一个简单的文本框。
我希望HTML 5的日期能够正常运行,但从他们想出这个想法的那一刻起,他们似乎并没有改进这一点。
这是我正在使用的代码。注释版本是尝试以声明方式创建它的版本,最终只是一个简单的文本字段,而不是DateTextBox
var startDateField = new dijit.form.DateTextBox({ name: startDateID, class: "dateField",
value: startDate, onchange: "setstartDate(this.value)"}, startDateID);
//var startDateField = '<input id="' + startDateID + '" data-dojo-type="dijit.form.DateTextField" name="' + startDateID + '" class="dateField" ' +
// 'value="' + startDate + '" required onChange="setstartDate(this.value)"/>';
var startDateField = domConstruct.place(startDate, startDateLabel, "after");
答案 0 :(得分:1)
对于小部件,您必须使用placeAt
:
var startDateField = new dijit.form.DateTextBox({ name: startDateID, class: "dateField", value: startDate, onchange: "setstartDate(this.value)"}, startDateID);
startDateField.placeAt(startDateLabel, "after");