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

是否有一种简单的单行方式来获取表单数据,就像以经典的纯HTML方式提交那样? 数组

例如: this

<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>

输出: spa

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

这样的事情太简单了,由于它不(正确地)包含文本区域,选择,单选按钮和复选框: code

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

#1楼

这会将全部表单字段附加到JavaScript对象“ res”: orm

var res = {};
$("#form input, #form select, #form textarea").each(function(i, obj) {
    res[obj.name] = $(obj).val();
})

#2楼

使用.serializeArray()获取数组格式的数据,而后将其转换为对象: 对象

function getFormObj(formId) {
    var formObj = {};
    var inputs = $('#'+formId).serializeArray();
    $.each(inputs, function (i, input) {
        formObj[input.name] = input.value;
    });
    return formObj;
}

#3楼

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

除此以外,您可能须要查看serialize()ip


#4楼

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

演示 get


#5楼

$('#myform').serialize();
相关文章
相关标签/搜索