onclick イベントを使用してフォーム要素が追加されるフォームがあります。
次に、フォーム要素とその値およびラベルが配列に保持されます。
function save_form() {
var x = document.getElementById("formBuilder");
var elements_data = new Array;
for (var i = 0; i < x.length; i++) {
if (x.elements[i].type == 'checkbox' || x.elements[i].type == 'radio') {
var all_ele_value = [];
var ele_id = x.elements[i].id;
$("input:" + x.elements[i].type + "[name=" + ele_id + "[]]").each(function () {
all_ele_value.push($(this).val());
});
var end_value = all_ele_value.join(";");
}
else if (x.elements[i].type == 'select-one') {
var ele_id = x.elements[i].id;
var end_value = $("#" + ele_id + " option").map(function (i, n) {
return n.value;
}).get().join(";");
}
else {
var end_value = x.elements[i].value;
}
}
var form_data = JSON.stringify(elements_data);
$.post(software_url + 'form_manager/save_form', {
'form_data': form_data
}, function (data) {
alert(data);
});
}
今、phpファイルでform_dataをエンコードしたいと思います。json_decode が機能しないので、その方法を知りたいです。Iam はすべての出力を json 形式で取得しています。