質問: jsonStrBase.slice(0, -2) + '}}' // 送信 $.ajax({ url: $form.attr('action'), type: $form.attr('method'), data: jsonStr, contentType: 'application/json', timeout: 5000, // 単位はミリ秒 }).done(function(result, textStatus, xhr){ alert('OK'); }).fail(function(xhr, textStatus, error){ alert('NG...'); }).always(function(xhr, textStatus){ $form.enable(); }); }); ``` タイトルと異なってしまいますが、元々やりたかったことは、「グループ分けした情報をネストしたJSONで送りたい」となります。 ここに載せたコードでは、formを設置し、formから取得した値をjQueryのajaxで送信していますが、フォームを設置せず、「複数の input をグループ分けして、 $('#hoge').click(function(){ でグループのidなどでから内容を取得し、JSONを組み立てて送信する。」という方法の方がシンプルかもしれません。
回答: ボタンクリックで form を submit (POST) したいということであれば、submit する直前に JavaScript で各テキストボックス(input type="text" 要素)から value を取得し、それを JSON 文字列に組み立て、隠しフィールドに入れて送信するという手段はいかがですか?