Javascript: JSON对象第一个键多出空格(或者换行)的问题

如下图所示,本来是键 "type" ,弹出modal之后,变成 " type",多出一个空格,因此出错,怎么回事?如何处理?

clipboard.png

从chrome检查元素复制出来的html源码是:

<button type="button" onclick="confirmAjax(&quot;确定要修改本项吗?&quot;,'updateDictElem(51,{&quot;type&quot;:&quot;XJ&quot;,&quot;label&quot;:&quot;999&quot;,&quot;value&quot;:&quot;333&quot;,&quot;orders&quot;:&quot;22&quot;,&quot;remarks&quot;:&quot;&quot;})')">确定修改</button>

clipboard.png

从chrome检查元素复制出来的html源码是("和type之间换行了):

<button class="button bMuddy sButton" onclick="updateDictElem(51,{" type":"xj","label":"999","value":"333","orders":"22","remarks":""});closemodal();"="">确认</button>
阅读 3.5k
4 个回答

当然出错啦
clipboard.png这是外层你用的双引号
clipboard.png这是里层,你也用双引号
导致他解析成了 clipboard.png 这里配成了一对;
clipboard.png这些字符串DOM解析成了无用字段
导致你点击事件不能正常触发。
解决办法1:外层用单引号

onclick='code'>确认</button>

解决办法2:转义

onclick="updateDictElem(51,{\" type\":\"xj\",\"label\":\"999\",\"value\":\"333\",\"orders\":\"22\",\"remarks\":\"\"});closemodal();">确认</button>

建议使用第一种

听不懂,不都是type吗

我说一下我的思路,希望对你有所帮助!

方式一

onclick里面的双引号变成单引号,例如像这样:onclick="updateDictElem(51,{'type':'xj'...);closemodal();" (外面单引号,里面双引号也是可以的,看你个人习惯)

方式二

把写在onclick中的那么多放在一个函数里面,就像这样:onclick="test()"test函数里面放你上面那些内容多好!

最外层换成''

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题