为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

开满天机 2019-03-12 13:12:35
如下图所示,本来是键 "type" ,弹出modal之后,变成 " type",多出一个空格,因此出错,怎么回事?如何处理?从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>从chrome检查元素复制出来的html源码是("和type之间换行了):<button class="button bMuddy sButton" onclick="updateDictElem(51,{" type":"xj","label":"999","value":"333","orders":"22","remarks":""});closemodal();"="">确认</button>
查看完整描述

2 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

当然出错

https://img1.sycdn.imooc.com//5c8c963b00011b9400640023.jpg

这是外层你用的双引号 

https://img1.sycdn.imooc.com//5c8c963d0001cdb300260020.jpg

这是里层,你也用双引号 

导致他解析成了

https://img1.sycdn.imooc.com//5c8c963f0001bc9a01660018.jpg

这里配成了一对;

https://img1.sycdn.imooc.com//5c8c964c00015fd803660022.jpg

这些字符串DOM解析成了无用字段

导致你点击事件不能正常触发。

解决办法1:外层用单引号


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

解决办法2:转义


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

建议使用第一种


查看完整回答
反对 回复 2019-03-16
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

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


方式一

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


方式二

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


查看完整回答
反对 回复 2019-03-16
  • 2 回答
  • 0 关注
  • 1037 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信