2017-12-30 7 views
0

jsonがあり、jsonファイルに基づいて簡単な動的フォームを作成します。ラベルがあり、divにはそれぞれのlablesが別々に存在します。しかし、このコードには入力が表示されないという問題があります。どのように各lableの下に各div内にそれらを追加するには?Jsonから作成した各div内に入力を追加するには

このコードは入力を表示する必要がありますが動作しません。ここ

は私のコードです:あなたはnewDiv.appendChild=string;を書いたあなたの最後の行で

document.body.onload = addElement; 
 

 
function addElement() { 
 
    var schema = [{ 
 
     "queestion": "Name", 
 
     "type": "128", 
 
     "attrs": [{ 
 
      "attr": { 
 
      "name": "class", 
 
      "value": "nofilling2 engword" 
 
      } 
 
     }, 
 
     { 
 
      "attr": { 
 
      "name": "id", 
 
      "value": "name" 
 
      } 
 
     }, 
 
     { 
 
      "attr": { 
 
      "name": "type", 
 
      "value": "text" 
 
      } 
 
     }, 
 
     { 
 
      "attr": { 
 
      "name": "placeholder", 
 
      "value": "Name" 
 
      } 
 
     }, 
 
     { 
 
      "attr": { 
 
      "name": "name", 
 
      "value": "_root.passengerinfo__1.passengerinfo.fullname.firstname" 
 
      } 
 
     } 
 
     ] 
 

 
    }, 
 
    { 
 
     "queestion": "Family", 
 
     "type": "128", 
 
     "attrs": [{ 
 
      "attr": { 
 
      "name": "class", 
 
      "value": "nofilling2 engword" 
 
      } 
 
     }, 
 
     { 
 
      "attr": { 
 
      "name": "id", 
 
      "value": "family" 
 
      } 
 
     }, 
 
     { 
 
      "attr": { 
 
      "name": "type", 
 
      "value": "text" 
 
      } 
 
     }, 
 
     { 
 
      "attr": { 
 
      "name": "placeholder", 
 
      "value": "Family" 
 
      } 
 
     }, 
 
     { 
 
      "attr": { 
 
      "name": "name", 
 
      "value": "_root.passengerinfo__1.passengerinfo.fullname.lastname" 
 
      } 
 
     } 
 
     ] 
 
    } 
 
    ] 
 

 
    for (var i = 0; i < schema.length; i++) { 
 
    var type = schema[i].type; 
 
    if (type == 128) { 
 

 
     var titleinput = schema[i].queestion; 
 

 
     var newDiv = document.createElement("div"); 
 
     newDiv.className = 'c-infoo'; 
 

 
     var newContent = document.createElement('label'); 
 
     newContent.className = 'abs-tlt'; 
 

 
     newDiv.appendChild(newContent); 
 
     newContent.innerHTML = titleinput + " : "; 
 
     document.getElementById('tblreserve').appendChild(newDiv); 
 

 
     var string = "<input "; 
 
     for (var y = 0; y < schema[i].attrs.length; y++) { 
 
     string += schema[i].attrs[y].attr.name + '="' + schema[i].attrs[y].attr.value + '" ' 
 
     } 
 
     string += ">"; 
 
     newDiv.appendChild = string; 
 
    } 
 
    } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script> 
 
<div id="tblreserve"></div>

答えて

0

ただし、という名前は文字列であり、子として追加することはできません。

stringは、代わりにnewDiv.innerHTML+=string;と記述してください。

PS:インデントスタイルを修正してください。それはとても素敵に見えません...

関連する問題