0

更新 フォームからすべてのフォーム要素を取得し、オブジェクトでそれらをフォーマットして、次のオブジェクトの出力に一致させるにはどうすればよいですか (javascript のみを使用)。

var feature = dojo.byId('searchString').value;

         var OBJECTID= dojo.byId('OBJECTID').value;

これは私が必要とするフォーマットです:

var updates = {attributes:{
          OBJECTID:OBJECTID,
          SubWS:feature
        }};

フォーム要素:

<input type="text" id="OBJECTID" value="" />
<input type="text" id="searchString" value="" />

出力:ここに画像の説明を入力

これは私の作業スクリプトですが、出力は上記の「更新」と一致しません。最終バージョンでは、更新されることがあるさらに多くのフォーム フィールドをループするため、属性をハードコーディングしたくありません。

 var inputs = document.getElementsByTagName("input");
      console.log("inputs array", inputs);
var params = {attributes:{}};
for(var i=0; i < inputs.length; i++){
    var curr = inputs[i];
    if(curr.getAttribute('type')==='text'){
        params[curr.getAttribute('name')] = curr.value;
    }
}

これが私の実際のフォームでの外観です。ご覧のとおり、オブジェクトはわずかに異なります。 ここに画像の説明を入力

4

1 に答える 1

1

私があなたを正しく理解しているなら、フォローラインを変更する必要があります

params.attributes[curr.getAttribute('name')] = curr.value;

追加する.attributesことで、目的の構造に一致する必要があります。

于 2013-03-19T17:01:39.703 に答える