我在项目中,使用onclick函数传递订单号,这个订单号有17位长,传递的时候明明传递的是正确的数值,可是在谷歌浏览器中F12看一下,数值总会加一,即数值会变化,原来js对于数字的精度仅能达到16位数,超过就会出现精度错误,即数值会发生改变。这个是一个大坑,因为如果是16位一下,就正常。
我原来的写法:
<a href="#" class="btn btn-primary btn-xs" data-toggle="modal"
data-target="#customerEditDialog"
onclick="editInfo(${row.orderno})">查看&修改</a>
解决办法就是把数字当成字符串来传递,那么spring的EL表达式怎么当成字符串传递呢?
直接使用单引号加起来就ok了,我修改后:
<a href="#" class="btn btn-primary btn-xs" data-toggle="modal"
data-target="#customerEditDialog"
onclick="editInfo('${row.orderno}')">查看&修改</a>
这里说明一点:其实在onclick里面要把spring EL表达式当成参数来传递,要用单引号括起来。