我找不到具有类似问题的线程是非常尴尬的...... 那么,让我们假设我有一个带复选框的标准HTML表单(将被解析为PHP中的数组),注意括号中的name属性:如何在jQuery中序列化数组的复选框
<form class="myForm" action="evaluate.php" method="get">
<input type="text" name="name" value="" placeholder="Your name"/>
<input type="checkbox" name="facts[]" value="1" id="fact-1"/><label for="fact-1">Fact 1</label>
<input type="checkbox" name="facts[]" value="2" id="fact-2"/><label for="fact-2">Fact 2</label>
...
</form>
,现在我想jQuery的序列化形式与内容:
alert($('.myForm').serialize());
预期的结果会是这样像这样:
name=MyName&facts[]=1&facts=[]=2&...
但遗憾的是它没有,因为括号“[]”被转义:
name=MyName&facts%5B%5D=1&facts=%5B%5D=2&...
有没有人,除了写一个自己的序列化脚本,这个问题的解决方案?
OK,我发现一个线程在谈论这里:http://stackoverflow.com/questions/304518/how- to-send-serialize-form-data-using-jquery-if-the-input-element-is-an-an数组,但是没有可接受的解决方案。 “serialize()。replace('%5B%5D','[]')”我觉得有点冒险。 – kernel
请花些时间阅读[faq]。如果没有适合你的答案,你只需要添加一个赏金。我知道你是新人,没有代表分配奖金,但回答几个问题并获得开设小奖金所需的50个代表真的不是那么难。 – zzzzBov
k我会听从你的建议。 – kernel