如何添加动态创建的 DOJO DateTextBox
How to add a dynamically created DOJO DateTextBox
我正在努力动态创建 dijit.form.DateTextBox
然后将其添加到现有文档中。我尝试了几种方法,首先是通过 new dijit.form.DateTextBox
动态创建字段,然后通过 domConstruct
添加它。使用这种方法,我最终得到
"Uncaught TypeError: Failed to execute 'appendChild' on 'Node':
parameter 1 is not of type '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");
你必须使用 placeAt
当涉及到小部件时:
var startDateField = new dijit.form.DateTextBox({ name: startDateID, class: "dateField", value: startDate, onchange: "setstartDate(this.value)"}, startDateID);
startDateField.placeAt(startDateLabel, "after");
我正在努力动态创建 dijit.form.DateTextBox
然后将其添加到现有文档中。我尝试了几种方法,首先是通过 new dijit.form.DateTextBox
动态创建字段,然后通过 domConstruct
添加它。使用这种方法,我最终得到
"Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type '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");
你必须使用 placeAt
当涉及到小部件时:
var startDateField = new dijit.form.DateTextBox({ name: startDateID, class: "dateField", value: startDate, onchange: "setstartDate(this.value)"}, startDateID);
startDateField.placeAt(startDateLabel, "after");