如何使用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();
相關文章
相關標籤/搜索