1

問題:

対応するボタンを押すと表示される非表示の div 内の 2 つのフォーム。入力は JSON に解析され、リクエストと共に送信されます。さまざまな理由でフォームを使用formまたは ラップすることはできないため、次を使用しました。fieldset

form = document.getElementById('formularEins').getElementsByTagName('input');

まだ使用できたときform.elements(.elements プロパティが IE のフィールドセットでサポートされていないことに気付く前)、これを使用して入力から JSON を生成しました。

(この場合form = document.getElementsByClassName('formOne')[0];

Const formToJSON = elements => [].reduce.call(elements, (data, element) => {
    if (isCheckbox(element)) {
    //data[element.name] = (data[element.name] || []).concat(element.value);
    data[element.name] = element.value;
  } else if (isMultiSelect(element)) {
    data[element.name] = getSelectValues(element);
  } else {
    data[element.name] = element.value;
  }
}
return data;
},);

質問:

上記のように、HTMLCollection とそのアイテムの入力を JSON に変換するにはどうすればよいですか?

私は試しましたが、次のさまざまなバージョンで失敗しました:

   var formToJSON = function formToJSON(form) {
       for (var i = 0; i < form.length; i++) {
       var item = form[i]; 
       data[item.name] = item.value; }
   };
4

1 に答える 1