如下图所示,本来是键 "type" ,弹出modal之后,变成 " type",多出一个空格,因此出错,怎么回事?如何处理?从chrome检查元素复制出来的html源码是:<button type="button" onclick="confirmAjax("确定要修改本项吗?",'updateDictElem(51,{"type":"XJ","label":"999","value":"333","orders":"22","remarks":""})')">确定修改</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个赞
当然出错
这是外层你用的双引号
这是里层,你也用双引号
导致他解析成了
这里配成了一对;
而
这些字符串DOM解析成了无用字段
导致你点击事件不能正常触发。
解决办法1:外层用单引号
onclick='code'>确认</button>
解决办法2:转义
onclick="updateDictElem(51,{\" type\":\"xj\",\"label\":\"999\",\"value\":\"333\",\"orders\":\"22\",\"remarks\":\"\"});closemodal();">确认</button>
建议使用第一种
牛魔王的故事
TA贡献1830条经验 获得超3个赞
我说一下我的思路,希望对你有所帮助!
方式一
把onclick里面的双引号变成单引号,例如像这样:onclick="updateDictElem(51,{'type':'xj'...);closemodal();" (外面单引号,里面双引号也是可以的,看你个人习惯)
方式二
把写在onclick中的那么多放在一个函数里面,就像这样:onclick="test()",test函数里面放你上面那些内容多好!
添加回答
举报
0/150
提交
取消