如何在 javascript 中将表单中的元素 id 值作为数组传递

How to pass the value of id of element from form as array in javascript?

本文关键字:数组 id javascript 表单 元素      更新时间:2023-09-26

如何将输入表单元素的值传递给数组?

var input = [{ 
    'FirstName': "$('#txtFirstName').val()", 
    'LastName': "$('#txtLastName').val()", 
    'City': "$('#txtCity').val()", 
    'EmailID': "$('#txtEmailID').val()"
}];
input = JSON.stringify(input); 

我尝试了上面的代码,但它不起作用?如何构建键值对表单数组以及如何使用每个函数循环它?

您可以使用以下辅助函数,我正在使用该函数来实现相同的功能-

$.fn.serializeObject = function()
{
    var o = {};
    var a = this.serializeArray();
    $.each(a, function() {
        if (o[this.name] !== undefined) {
            if (!o[this.name].push) {
                o[this.name] = [o[this.name]];
            }
            o[this.name].push(this.value || '');
        } else {
            o[this.name] = this.value || '';
        }
    });
    return o;
};

工作小提琴 - http://jsfiddle.net/sxGtM/3/

你应该像这样执行它:

var input = [{ 'FirstName': $('#txtFirstName').val() }];

你的jQuery表达式不应该是一个字符串!


生成的 JS 四个你应该看起来像这样:

var input = [{ 
    'FirstName': $('#txtFirstName').val(), 
    'LastName': $('#txtLastName').val(), 
    'City': $('#txtCity').val(), 
    'EmailID': $('#txtEmailID').val() }];
input = JSON.stringify(input); 

考虑使用 jQuery formSerialize 方法来收集所有表单数据:

$('#myFormId').formSerialize();