<a href='javascript:void(0)' onclick='show($ID);'>ID</a>
我的$ ID是0000001000。
我的show()函数得到的是512而不是0000001000
我已经尝试使用String()和.toString()将$ ID转换为字符串,但我仍然做一个警告()它返回512。
我读了一些关于八进制模式的内容。我该如何预防或纠正这个?
我希望我的功能读取0000001000
答案 0 :(得分:3)
您应该将其作为字符串传递:
echo "<a href='javascript:void(0)' onclick='show(\"" . $ID . "\");'>ID</a>";
否则,它会自动从八进制转换为十进制表示法oct(1000) === dec(512)
。
答案 1 :(得分:1)
当你将它传递给你的show函数时,0000001000
被解释为八进制(归功于@Oscar Lopaz)(512)。尝试将其作为字符串传递:
<a href="javascript:void(0)" onclick="show('" + $ID + "');">ID</a>
答案 2 :(得分:1)
在Javascript中,以零开头的数字被视为八进制(非二进制!)。八进制1000 =十进制512。您应该将值作为字符串处理以避免此类问题。