如何将标准HTML表单转换为包含所有数据的JSON表示?

我有一个简单的HTML表单:

First name:
Last name:
Address:
Zip:
Sex: Male
Female

我需要获取Form元素的JSON表示,包括id,value,type,form action,form id等。

我尝试使用以下代码,但我没有得到我想要的东西:

  $(document).ready(function(){ var encoded = $.toJSON($('#formid1')); $("#formid1").submit(function() { $.colorbox({html:'

Form Converted to JSON Data:




'+ encoded }); return false; }); });

我明白了:

 {"length":1,"0":{"firstname":{},"lastname":{},"address":{},"zip":{},"sex":{"0":{},"1":{}},"6":{}},"context":{"jQuery16108216209608688556":1},"selector":"#formid1"} 

试试这个:

 $('#formid1').serializeArray().reduce(function(obj, v) { obj[v.name] = v.value; return obj; }, { }); 

嗨,我正在研究同样的问题! 我绕过它的方式是使用onsubmit函数而不是动作。 您将表单中的所有内容传递给javascript函数,然后您可以访问表单数据。 我所做的function使用警报来显示您可以访问该数据。 这是代码:

   
First name:
Last name:
Address:
Zip:
Sex: Male
Female