首页 > 解决方案 > Jquery循环表单并创建关联数组

问题描述

我正在尝试遍历每个表单字段的无序列表。当我尝试将其附加到 formdata 并通过 PHP 处理它时,它只会返回

team: "[object Object],[object Object]"

JS在这里:

var arr = [];
$( '#team_list li' ).each(function(idx, li) {
    $team_name = $( li ).find('input[name="team_name"]').val();
    $team_role = $( li ).find('input[name="team_role"]').val();
    $team_citizen = $( li ).find('#country').val();
    $team_status = $( li ).find('#id_team_status').val();
    arr.push({ name: $team_name, role: $team_role, citizen: $team_citizen, status: $team_status, });
});

fd.append('team', arr );

标签: phpjquery

解决方案


的第二个参数FormData.append需要是字符串或文件;不属于其中之一的任何内容都将转换为字符串(请参阅手册)。所以你看到的是arr. 你需要做的是JSON编码arr(使用JSON.stringify)即

fd.append('team', JSON.stringify(arr));

然后在你的 PHP 代码中你可以写

$teams = json_decode($_POST['team']);

推荐阅读