Jeśli używasz wejść formularza dojo i chcą mieć etykiety dla nich tak:Clickable dojo etykiet
<label for="???">Email</label>
<input
type="text"
name="email"
dojoAttachPoint="email"
dojoType="dijit.form.TextBox"
/>
etykieta nie jest klikalny, ponieważ nie ma możliwości dowiedzenia id przed wejściem to jest renderowane.
Czy istnieje inne rozwiązanie niż hakowanie identyfikatora, ponieważ dojo generuje ten element?
UPDATE
To właściwie jeszcze trudniejsze, niż myślałem, bo pole wprowadzania w dojo pobiera renderowane jako
<div class="dijit dijitTextBox" id="widget_dijit_form_TextBox_0">
<input class="dijitReset dijitInputField" value="Χ" type="text" tabindex="-1">
...
</div>
i pola wprowadzania podstawowej nie posiada identyfikator
To rozwiązanie działa tylko w prostych przypadkach. Wyobraź sobie, że masz widżet z tą etykietą i dane wejściowe w szablonie. Teraz, jeśli chcesz umieścić kilka kopii tego samego widżetu na tej samej stronie, będziesz mieć kłopoty, jeśli użyjesz identyfikatorów. Zasadniczo unika się używania id i używania dojoAttachPoint zamiast odwoływania się do tej konkretnej instancji elementu z JS. Zasadniczo wygląda na to, że w bibliotece brakuje biblioteki dijit.form.Label, która mogłaby zostać dołączona za pomocą dojoAttachPoint zamiast id, co oznacza, że prawdopodobnie nadszedł czas napisania dojox.form.Label;) – Karolis
"Hackowanie w id dojo generuje" nie jest tak źle: P – hugomg