2016-07-24 55 views
0

我在努力動態地創建dijit.form.DateTextBox,然後將其添加到現有的文檔。我嘗試了幾件事,首先是通過new dijit.form.DateTextBox動態創建該字段,然後通過domConstruct添加它。用這種方法,我最終得到了如何添加動態創建的DOJO DateTextBox

"Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'."

當我試圖用一個字符串來動態創建它時,如果我聲明地創建它,那麼我將使用該字符串,最後我得到一個簡單的文本框。

我希望HTML5的日期能夠工作,但是從他們提出這個想法的那一刻起,他們似乎並沒有改進這一點。

這是我正在使用的代碼。該評論的版本是一個試圖以聲明的方式創建它,因爲只有一個簡單的文本字段,它結束了,而不是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"); 

回答

1

你必須使用placeAt當談到小工具:

var startDateField = new dijit.form.DateTextBox({ name: startDateID, class: "dateField", value: startDate, onchange: "setstartDate(this.value)"}, startDateID); 

startDateField.placeAt(startDateLabel, "after"); 
相關問題