Définir la Valeur de la bibliothèque dijit.Forme.Textarea
J'ai une bibliothèque dijit boîte de dialogue qui contient un formulaire que je veux pour auto-alimenter. Je peux obtenir la boîte de dialogue pour afficher le formulaire, mais j'ai été incapable de définir la valeur d'une zone de texte dans le formulaire. Ici est la div qui abrite le html.
<div dojoType="dijit.Dialog" id="formDialog" title="Form Dialog" >
<table>
<tr>
<td>
<label for="desc">
Description:
</label>
</td>
<td>
<textarea id="desc" name="desc" dojoType="dijit.form.Textarea" style="width:200px;"></textarea>
ENREGISTRER
FERMER
Je peux obtenir ce pour afficher l'amende juste en faisant
var formDlg = bibliothèque dijit.byId("formDialog");
formDlg.show();
Mais le problème que j'ai est la définition de la valeur du textarea appelé "desc". J'ai essayé plusieurs choses, mais je sais que j'ai besoin de
var test = dijit.byId("desc");
mais si j'ai mis toute propriété de test, tels que
test.value = "foo";
test.textContent = "foo";
test.innerHTML = "foo";
test.srcNodeRef = "foo";
La valeur n'est jamais enregistré et affiché à l'intérieur de la zone de texte. Est-il une astuce? Toute aide serait super. Grâce
Vous devez vous connecter pour publier un commentaire.
..devrait faire l'affaire, je pense. La plupart des widgets Dojo utiliser le
set
méthode (anciennementattr
) pour définir les valeurs de propriété, plutôt que de manipuler directement comme vous avez essayé de le faire. Vous pouvez également définir plusieurs propriétés en une seule fois par le passage d'un objet:setValue
est dépréciée en faveur deset("value", ..
. Je suppose que vous êtes peut-être en utilisant une ancienne version de Dojo? Eh bien, content d'avoir pu aider 🙂set()
ne change pas l'entrée de la valeur dans les DOM, mais du dojo interne de la valeur de l'élément. Vous pouvez le vérifier en utilisantget()
. En regardant dans le sélecteur d'élément ne va pas aider :/Pour une raison quelconque,
dijit.byId("txtAreaMytextarea").set("value", "somevalue")
ne fonctionne pas avecTextArea
mais fonctionne avec d'autres bibliothèque dijit types lorsque vous utilisez Dojo de 1,6 et de l'utilisationdijit.form.SimpleTextarea
commeTextArea
. La fonctionsetValue("")
aussi ne fonctionne pas.Si cela vous arrive, essayez d'utiliser
dojo.byId
au lieu dedijit.byId
et la juste valeur de réglage en faisant