2009-11-17 58 views
0

代碼:構建表單字段名稱JavaScript和賦值

function updateValues(res){ 
       var rows=res.ROWCOUNT; 
       for (i=0;i<rows;i++){ 
        var x='document.Eventform.txt_'+res.DATA.EVENT_LENDER_ID[i]; 
        x.value=res.DATA.EVENT_DAYS[i]; 
       } 
      } 

res是傳遞給函數的JSON對象,我們需要建立動態表單域的名稱和值分配給這些字段(表單動態生成的字段名稱將存在於表單中)。

+0

功能updateValues(res){ \t \t \t \t var rows = res.ROWCOUNT; \t \t \t \t爲(I = 0; I <行;我++){ \t \t \t \t \t變種X = 'document.Eventform.txt _' + res.DATA.EVENT_LENDER_ID [I]; \t \t \t \t \t x.value = res.DATA.EVENT_DAYS [i]; \t \t \t \t} \t \t \t} – krishna 2009-11-17 00:19:57

+0

的javscript功能如上 – krishna 2009-11-17 00:20:32

+0

你能用你的JavaScript和可能的JSON對象一起發佈的HTML〜一個簡單的例子就是最好的 – 2009-11-17 00:26:51

回答

0

下面的代碼應該做你想要

function updateValues(res) { 
    var rows = res.ROWCOUNT; 
    var form = document.forms['EventForm']; 

    for (var i=0; i<rows; i++) { 
     form.elements['txt_' + res.DATA.EVENT_LENDER_ID[i]].value = res.DATA.EVENT_DAYS[i]; 
    } 
} 

什麼但是,如果你可以改變JSON對象的東西的佈局,否則你也許可以作出這樣的代碼一點點清潔:

function updateValues(res) { 
    var form = document.forms['EventForm']; 
    for (var name in res) { 
     form.elements['txt_' + name].value = res[name]; 
    } 
} 

如果表單字段的id屬性設置爲包含在JSON對象中的名稱,那更好。在這種情況下,下面將工作(連同改變JSON對象):

function updateValues(res) { 
    for (name in res) { 
     document.getElementById(name).value = res[name]; 
    } 
} 
1

如果要動態地創建表單JavaScript中,你可以做這樣的......

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 
    <title>JS Example</title> 
</head> 
<body> 

    <div id="formContainerDiv"> 

    </div> 

    <script type="text/javascript"> 

     var form = document.createElement('form'); 

     for (var i = 0; i < 10; i++) { 

      var element = document.createElement('input'); 

      element.type = 'text'; 
      element.value = i.toString(); 

      form.appendChild(element); 
     } 

     var submit = document.createElement('input'); 

     submit.type = 'submit'; 
     submit.value = 'submit'; 

     form.appendChild(submit); 

     document.getElementById('formContainerDiv').appendChild(form); 

    </script> 
</body> 
</html>