1

我有一个 json{"Name":"@@","Phone":"9999999999","EMail":"example@ex.com"} 我想将这个对象的值填充到一个表单中......怎么做?这是表格

<form data-dojo-type="dojox.form.Manager" name="form" id="form" method="post">
<tr><td>
<input type="text" required="true" name="Name" id="Name" data-dojo-type="dijit.form.ValidationTextBox"/></tr></td>
<tr><td>
<input type="text" name="Phone" id="Phone" data-dojo-type="dijit.form.ValidationTextBox"/></tr></td>
<tr><td>
<input type="text" name="Email" id="Email" data-dojo-type="dijit.form.ValidationTextBox"/></tr></td>
</form>

谢谢

4

3 回答 3

2

要在表单中设置值,请尝试以下操作:-

var obj = {"Name":"@@","Phone":"9999999999","EMail":"example@ex.com"};
dijit.byId('form').set('value',obj);

我知道它晚了,但它的工作: -

于 2012-12-04T16:47:37.173 回答
0

dojox.form.Manager包括dijit.form._FormMixin提供 .setValues 功能。您应该能够form.setValues使用您的 JSON 对象进行调用。这样做的好处是它会正确调用.set("value", ...)每个小部件,以确保 Dijit 小部件具有新值。简单地在 DOM 节点上分配 ' .value' 属性可能会绕过 Dijit 逻辑。

也有一个等价物.getValues_FormMixin它做相反的事情。

于 2012-05-09T16:18:04.477 回答
0

我会在 json 上使用一个简单的 javascript 循环。

var data = JSON.parse(jsonDataString);
for (index in data) {
    var el = document.getElementById(index);
    if (el)
        el.value = data[el];
}
于 2012-05-09T15:01:11.050 回答