1

我正在尝试将隐藏的输入字段动态添加到其 ID/名称中带有方括号的表单中:

<input type="hidden" name="myField[]" id="myField[]" value="someValue" />

添加工作正常(至少萤火虫显示正确添加的字段)。但是当我尝试访问接收 PHP 脚本中的后数组时,字段名最终myField%5B%5D会丢失并且数组会丢失。

当这些字段手动添加到 HTML 代码中时,我最终在我的 postvars 中有一个不错的数组。

我该如何解决?

[编辑]

这就是我添加字段的方式:

$('#theForm').append(
                $('<input/>')
                    .attr('type', 'hidden')
                    .attr('name', 'myField[]')
                    .attr('id', 'myField[]')
                    .val(value)
            );

我还尝试使用转义字符,例如\[\]- 也\\[\\]- 无济于事

4

2 回答 2

0

您可能想阅读内容并尝试以下操作:

$('#theForm').serialize().replace('%5B%5D', '[]') 

或这个

$.param(obj, true);
$.post(url,serializedObj,function(){});

true中的表示$.param应使用序列化对象的传统方法。传统方法在遇到相同的参数名时不使用方括号。

于 2013-08-01T09:29:40.177 回答
0

尝试这个

$('#theForm').append('<input type="hidden" name="myField[]" id="myField[]" value="someValue" />');
于 2013-08-01T09:47:56.437 回答