javascript dojo dijit.form

javascript - Establecer el valor de Dijit.Form.Textarea



dojo (2)

Tengo un cuadro de diálogo dijit que contiene un formulario que quiero completar automáticamente. Puedo mostrar el cuadro de diálogo con el formulario, pero no he podido establecer el valor de un área de texto dentro del formulario. Aquí está el div que alberga el 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>

GUARDAR CERRAR

Puedo hacer que esto se muestre bien al hacer

var formDlg = dijit.byId ("formDialog"); formDlg.show ();

Pero el problema que tengo es establecer el valor del área de texto llamado "desc". He intentado varias cosas, pero sé que necesito

var test = dijit.byId("desc");

pero si establezco alguna propiedad de prueba, como

test.value = "foo"; test.textContent = "foo"; test.innerHTML = "foo"; test.srcNodeRef = "foo";

El valor nunca se guarda y se muestra dentro del área de texto. Hay un truco para hacer esto? Cualquier ayuda sería genial. Gracias


var test = dijit.byId("desc"); test.set("value", "foo");

... debería hacer el truco, creo. La mayoría de los widgets en Dojo utilizan el método set (anteriormente attr ) para establecer valores de propiedades, en lugar de manipularlos directamente como lo has intentado hacer. También puede establecer múltiples propiedades de una sola pasada pasando un objeto:

var test = dijit.byId("desc"); test.set({"value": "foo", "name": "someName"});


Por algún motivo, dijit.byId("txtAreaMytextarea").set("value", "somevalue") no funciona con TextArea pero funciona con otros tipos de dijit cuando usa Dojo 1.6 y usa dijit.form.SimpleTextarea como TextArea . La función setValue("") tampoco funciona.

Si esto le sucede, intente usar dojo.byId lugar de dijit.byId y simplemente establezca el valor haciendo

dojo.byId("txtAreaMytextarea").value = "somevalue";