1

{"Name":"@@","Phone":"9999999999","EMail":"example@ex.com"} このオブジェクトからフォームに値を入力したいjsonがあります...それを行う方法は?こちらがフォームです

<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.setValuesdijit.form._FormMixin関数を提供するインクルード。form.setValuesJSON オブジェクトで呼び出すことができるはずです。これの利点は.set("value", ...)、Dijit ウィジェットが新しい値を持つことを保証するために、各ウィジェットを適切に呼び出すことです。.value単にDOM ノードに ' ' プロパティを割り当てるだけで、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 に答える