我想将表单序列化为 json,处理 json 对象,然后将其重新序列化以通过 ajax 发送到 php 脚本。
这是我想要做的粗略示例:
s = $('.dia_req_form').serialize();
j = //convert s to json ...HOW??
if(j.name)
{
alert("you must enter a name");
}
if(selectedID)
{
j.id = selectedID;
}
s = //serialize j ...HOW??
您可以看到 HOW 的 2 个部分??
最佳答案
您可以使用 .serializeArray()
和 $.param()
像这样:
//validate here
var obj = $('.dia_req_form').serializeArray();
if(selectedID) {
obj.push({ name: 'id', value: selectedID });
}
var s = $.param(obj); //s can be used for submission
在内部,.serialize()
实际上等同于 $.param($(this).serializeArray())
,所以这一切所做的只是将步骤分开,如果需要的话添加一个项目。
.serializeArray()
是具有 2 个属性(name
和 value
)的对象数组,我们所做的只是在需要时向数组添加一些对象,然后 调用 $.param()
使其成为一个字符串。
关于javascript - 将表单序列化为 JSON 或从 JSON 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3568498/