Я пытаюсь динамически добавить новый виджет FilteringSelect в существующую форму, которую я сделал из декларативных тегов (при загрузке страницы).
prereqs = 0;
function addAnotherPrerequisite(){
var newPreReqCursor = dijit.byId("Prerequisite"+(prereqs-1)).domNode;
dojo.create("input",{
id:"prerequisite"+prereqs,
jsId:"Prerequisite"+prereqs,
dojoType:"dijit.form.FilteringSelect",
store:"PrerequisitesStore",
searchAttr:"name",
style:"width: 350px;",
required:"true",
class: "appendedPreReq"},newPreReqCursor,"after");
dojo.parser.parse( newPreReqCursor.parentNode );
prereqs++;
}
Этот код правильно создает виджет FilteringSelect, но виджет не зарегистрирован в форме. Всякий раз, когда я отправляю форму, ни одно из значений в новых виджетах не появляется. Атрибут проверки работает, однако, и он правильно извлекает значения из хранилища. Я даже могу вызвать новый виджет через его jsId (Prerequisite1, Prerequisite2 и т. Д.). Он просто не будет POST!
Вместо dojo.create я также попытался вызвать виджет FilteringSelect напрямую. Это также сделало виджет, но не зарегистрировало значения в форме во время POSTing.
var filteringSelect = new dijit.form.FilteringSelect({
id: "prereq"+prereqs,
jsId: "Prerequisite"+prereqs,
store: PrerequisitesStore,
searchAttr: "name",
required: true,
style: 'width: 350px;',
class: 'appendedPreReq'
},
"prerequisite"+prereqs).startup();
Я схожу с ума, пытаясь понять это.