我正在尝试动态地将隐藏的输入字段添加到其ID /名称中带有方括号的表单中:
<input type="hidden" name="myField[]" id="myField[]" value="someValue" />
添加工作正常(至少firebug显示正确添加的字段)。但是当我尝试在接收PHP脚本中访问后置数组时,字段名最终为myField%5B%5D
并且数组丢失。
当手动将这些字段添加到HTML代码中时,我最终在我的postvars中有一个很好的数组。
我该如何解决这个问题?
[编辑]
这是我添加字段的方式:
$('#theForm').append(
$('<input/>')
.attr('type', 'hidden')
.attr('name', 'myField[]')
.attr('id', 'myField[]')
.val(value)
);
我也尝试使用像\[\]
这样的转义字符 - 以及\\[\\]
- 无济于事
答案 0 :(得分:0)
您可能需要阅读 this 并尝试此操作:
$('#theForm').serialize().replace('%5B%5D', '[]')
或者
$.param(obj, true);
$.post(url,serializedObj,function(){});
true
中的$.param
表示应该使用序列化对象的传统方法。传统方法在遇到相同的参数名称时不使用方括号。
答案 1 :(得分:0)
试试这个
$('#theForm').append('<input type="hidden" name="myField[]" id="myField[]" value="someValue" />');