Пытаюсь создать свое расширение. Получается js скриптом формирую json, а дальше закидываю в input type='hidden' Вот сама форма
<form id="formMenu" action="update" method="post">
<div class="form-group field-menuget-key_setup required">
<label class="control-label" for="menuget-key_setup">Введите название меню (на английском)</label>
<input id="menuget-key_setup" class="name" name="MenuGet[key_setup]" value="forHer" aria-required="true" type="text">
</div><div class="form-group field-contentForJson required">
<input id="contentForJson" class="form-control" name="MenuGet[vaelye]" value="" type="hidden">
</div>
<a id="secures" class="btn btn-success col-lg-offset-8 col-md-offset-8 col-sm-offset-6" href="#">Сохранить меню</a>
вот скрипт js
$("#secures").click(function (e) {
e.preventDefault();
var menu = {};
var extra = {};
$("#menu-to-edit li").each(function (i) {
if ($(this).data('menu')) {
var id = $(this).data('id');
var model = $(this).data('model');
var alias = $(this).data('alias');
var depth = parseInt($(this).attr('data-depth'));
var path = $(this).data('path');
title = $(this).data('title').toString();
var key = 'menu' + $(this).attr('data-item');
var addmenu = {
title: title,
id: id,
model: model,
alias: alias,
depth: depth,
path: path,
imgPath: imgPath,
imgName: imgName
};
menu[key] = addmenu;
}
$('#contentForJson').val(JSON.stringify(menu, "", 4));
$('#formMenu').submit();
});
но мне кажется что от этого кода несколько пованивает говно кодом (ну не нравиться мне передавать json в value, inputа). Есть лучшие практики как это сделать ?