【发布时间】:2012-08-26 19:30:07
【问题描述】:
我在 html DOM 中的表单是一个可供单击的复选框(可以有多个)。每当我使用撇号时,描述字符串中都会出现问题,因为我的列表对象是单引号分隔的。这是表单中的复选框之一:
<input type="checkbox" id="cbx" name="cbx" value="{'getPic': 'url', 'picsrc': 'http://lh3.ggpht.com/_ZB3cttqooN0/SVmJPfusGWI/AAAAAAAADvA/GuIRgh6eMOI/Grand%20Canyon%201213_121508214.JPG', 'pos': None, 'description': 'Here's what it REALLY looks like at 5:30am! Bring your headlight!'}">
读取选中复选框的值并将它们推送到数组(列表)中的 javascript:
var pylist = [];
for (i=0; i<document.picList.cbx.length; i++) {
if (document.picList.cbx[i].checked) {
pylist.push( document.picList.cbx[i].value );
}
}
var getstr = JSON.stringify(pylist);
问题始终是 getstr 在这一点上已经切断了描述属性中单引号之后的所有内容。 我尝试了不同的方法来逃避它,但收效甚微。
【问题讨论】:
-
作为参考,这不是有效的 JSON。字符串需要用双引号括起来,任何合规的 JSON 序列化器都会这样做。