我有一个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>
谢谢
答案 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
,反之亦然。