2

テンプレートを介してjsonオブジェクトにバインドされたフォームを作成するために使用したJTemplatesプラグインを使用してきました。完璧に動作します。私がやりたいことは、フォームを送信する代わりに、元のjsonオブジェクトに再シリアル化し、json文字列としてコントローラーメソッドに戻すことです。オブジェクトを元の形式にシリアル化する最良の方法は何ですか?

4

1 に答える 1

1

これを実現するために、serializeObject と toJson を使用します。

var yourForm = $('#formId');
//Serialize form elements and make into json object
var jsonObject = $.toJSON(yourForm.serializeObject());

serializeObject (jquery)

$.fn.serializeObject = function()
{
   var o = {};
   var a = this.serializeArray();
   $.each(a, function() {
       if (o[this.name]) {
           if (!o[this.name].push) {
               o[this.name] = [o[this.name]];
           }
           o[this.name].push(this.value || '');
       } else {
           o[this.name] = this.value || '';
       }
   });
   return o;
};

toJSON

json.js ライブラリの使用: https://github.com/douglascrockford/JSON-js

于 2010-02-17T01:12:21.930 に答える