ho mai visto alcun esempio in cui dijit.form.TextBox utilizza la proprietà labile per visualizzare effettivamente un'etichetta accanto al TextBox. L'etichetta è sempre un elemento etichetta separato o un textnode.
Credo che TextBox abbia questa proprietà solo perché la eredita da dijit._Widget (in base allo API docs).
Per aggiungere un'etichetta programmaticaly, basta aggiungere un TextNode separata o elemento etichetta DOMNode della maschera:
dojo.require("dijit.form.Form");
dojo.require("dijit.form.TextBox");
function buildForm() {
var form = new dijit.form.Form({
}, dojo.doc.createElement('div'));
var textBox = new dijit.form.TextBox({
name: 'text'
}, dojo.doc.createElement('input'));
document.body.appendChild(form.domNode);
form.domNode.appendChild(dojo.doc.createTextNode("My Label "));
form.domNode.appendChild(textBox.domNode);
}
dojo.addOnLoad(buildForm);
Here è un esempio completo su jsfiddle.
La proprietà dell'etichetta '_Widget' proviene effettivamente da una chiamata dojo.extend in' dojox/lay out/TableContainer'. Ho fatto questa stessa domanda sulla mailing list dojo http://dojo-toolkit.33424.n3.nabble.com/ValidationTextBox-label-property-td3287477.html. Nota che anche con questa proprietà, non verrà visualizzata automaticamente sulla pagina. – BuffaloBuffalo
@BuffaloBuffalo Grazie per l'intuizione aggiunta. Ho guardato nella fonte ieri e non sono riuscito a trovare la proprietà dell'etichetta definita da nessuna parte. – jumpnett