从json(dojo)填充表单

时间:2012-05-09 14:49:36

标签: json dojo

我有一个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>

谢谢

3 个答案:

答案 0 :(得分:2)

要在表单中设置值,请尝试: -

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

我知道它迟到但工作: -

答案 1 :(得分:0)

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

var data = JSON.parse(jsonDataString);
for (index in data) {
    var el = document.getElementById(index);
    if (el)
        el.value = data[el];
}

答案 2 :(得分:0)

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

.getValues也有_FormMixin,反之亦然。