如果您正在使用dojo表单输入并希望为它们添加标签:
<label for="???">Email</label>
<input
type="text"
name="email"
dojoAttachPoint="email"
dojoType="dijit.form.TextBox"
/>
Run Code Online (Sandbox Code Playgroud)
标签不可点击,因为在呈现之前无法知道输入的ID.
除了在dojo中为该元素生成id之外,是否存在解决方案?
UPDATE
它实际上比我想象的要困难得多,因为dojo中的输入字段被渲染为
<div class="dijit dijitTextBox" id="widget_dijit_form_TextBox_0">
<input class="dijitReset dijitInputField" value="?" type="text" tabindex="-1">
...
</div>
Run Code Online (Sandbox Code Playgroud)
并且基础输入字段没有id
您是否尝试为输入提供 id ?
<label for="myIdComesHere">Email</label>
<input
id="myIdComesHere"
type="text"
name="email"
dojoAttachPoint="email"
dojoType="dijit.form.TextBox"
/>
Run Code Online (Sandbox Code Playgroud)
如果我没记错的话,这个 id 可以被 dojo.byId (获取 domNode 又名输入标签)和 dijit.byId (获取 dijit Widget 实例)使用