1

我正在从我的 Java 脚本中生成 4 个输入字段。但现在我想使用 dojo TextBox dijit 来接受输入。如何将我的输入标签转换为 dojo 文本框?

这是当前的代码...

var container = document.createElement("span");
domClass.add(container, "Class name");
var input = document.createElement("input");
input.type = "text";
input.name = "textinput";
domClass.add(input, "Some Class name");
container.appendChild(input);
4

1 回答 1

3

我可以看到您需要“dojo/dom-class”才能使用它将类添加到您的 DOM 节点。现在您还需要“dijit/form/TextBox”。您将需要一些 DOM 节点来放置新的 TextBox 小部件,例如<div id="input_container"></div>. 当你拥有它时,创建它们并插入它们就像这样简单:

new TextBox({
   name: "textinput",
   // Additional properties...
}, "input_container");

这将创建一个新的dijit/form/TextBox小部件并将其放置在div以“input_container”作为其 id 的位置。您不必像我展示的那样立即将您的小部件放置在 DOM 结构中,正如您在这个小提琴中看到的那样,您还可以将新的 TextBox 小部件分配给一个变量,您可以稍后将其放置在您想要的位置。

在旁注中,我看到您正在使用document.createElement()本机appendChild()方法。这些不是每个浏览器的标准,因此您可能最终会通过依赖这些方法在浏览器之间遇到一些奇怪的问题。Dojo 提供了一个不错的dojo/dom-construct模块,它为您提供了类似的方法,并自行处理不同的浏览器实现(因此您不必担心)。

于 2013-02-21T14:54:31.893 回答