0
Я получаю ошибку widget is already registered при запуске этого кода с использованием библиотеки Dojo.dojo виджет уже зарегистрирован
В консоли я могу видеть, что есть виджет с этим идентификатором, но я не могу уничтожить его.
function layoutDialog2(data, taskBoard, idName)
{
var _idName = idName;
var _taskBoard = taskBoard;
var d = addDialog(); //dialog
var idD = d.get("id"); //random ID
var f = addNew(d, Form, {id: "f"+idD, style: "border: 1px solid red"});
var c = addNew(d, ContentPane, {id: "cp"+idD});
for (var i=0; i<7; i++)
{
var l1 = addNew2(f, "label", {style: "1px solid green"});
var span1 = addNew2(l1, "span", {innerHTML: "a"+i+": "});
var t1 = addNew(l1, TextBox, {name: "a"+i, value: data["a"+i]});
var br1 = addNew2(l1, "br", {});
}
var b1 = addNew(c, Button, {label: "Change", onClick: function() { change(); }});
var b2 = addNew(c, Button, {label: "DELETE", onClick: function() { deleteTask(); }});
function change()
{
console.log(_taskBoard);
_taskBoard.destroyRecursive();
console.log(_taskBoard);
var v1 = registry.byId("f"+idD); //get form value
var v1 = v1.get("value");
layoutTask(v1);
_taskBoard.destroyRecursive();
}
function deleteTask()
{
_taskBoard.destroyRecursive();
}
d.show();
}
Можете ли вы опубликовать всю ошибку или, по крайней мере, конкретно, что означает 'ID', который он говорит? Что вы подразумеваете под словом «Я не могу его уничтожить»? Вы получаете еще одну ошибку за это? – Default
Это случилось со мной, когда у меня был плохой порядок операций с различными вызовами dojo/domReady! И 'dojo/ready'. Убедитесь, что ваш синтаксический анализ и доступ к ним в порядке. Упростите, упростите, упростите, а затем отлаживайте оттуда. – Phix
спасибо, но доджо заставляет меня сходить с ума! –