使用jQuery获取表单输入字段?

2022-08-29 23:17:54

我有一个包含许多输入字段的表单。

当我使用jQuery捕获提交表单事件时,是否可以在关联数组中获取该表单的所有输入字段?


答案 1
$('#myForm').submit(function() {
    // get all the inputs into an array.
    var $inputs = $('#myForm :input');

    // not sure if you wanted this, but I thought I'd add it.
    // get an associative array of just the values.
    var values = {};
    $inputs.each(function() {
        values[this.name] = $(this).val();
    });

});

多亏了Simon_Weaver的提示,这是您可以使用serializeArray的另一种方法:

var values = {};
$.each($('#myForm').serializeArray(), function(i, field) {
    values[field.name] = field.value;
});

请注意,此代码段在元素上将失败。<select multiple>

新的 HTML 5 表单输入似乎不适用于 jQuery 版本 1.3。这适用于版本 1.4+serializeArray


答案 2

在这个问题上迟到了,但这更容易:

$('#myForm').submit(function() {
    // Get all the forms elements and their values in one step
    var values = $(this).serialize();

});