如何使用JavaScript / jQuery获取表单数据?

是否有一种简单的单行方式来获取表单的数据,就像它是以传统的纯HTML方式提交一样?

例如,在:

<form>
 <input type="radio" name="foo" value="1" checked="checked" />
 <input type="radio" name="foo" value="0" />
 <input name="bar" value="xxx" />
 <select name="this">
  <option value="hi" selected="selected">Hi</option>
  <option value="ho">Ho</option>
</form>

日期:

{
 "foo": "1",
 "bar": "xxx",
 "this": "hi"
}

像这样的东西太简单了,因为它没有(正确)包含textareas,选择,单选按钮和复选框:

$("#form input").each(function() {
 data[theFieldName] = theFieldValue;
});

$('form').serialize() //this produces: "foo=1&bar=xxx&this=hi"

演示


使用$('form').serializeArray() ,它返回一个数组

[
  {"name":"foo","value":"1"},
  {"name":"bar","value":"xxx"},
  {"name":"this","value":"hi"}
]

其他选项是$('form').serialize() ,它返回一个字符串

"foo=1&bar=xxx&this=hi"

看看这个jsfiddle演示


基于jQuery.serializeArray ,返回键值对。

var data = $('#form').serializeArray().reduce(function(obj, item) {
    obj[item.name] = item.value;
    return obj;
}, {});
链接地址: http://www.djcxy.com/p/26419.html

上一篇: How can I get form data with JavaScript/jQuery?

下一篇: What are some best practices for handling sensitive information?