我使用 print 语句从 php 调用 javascript 函数来打印 html 代码,并且传入一个整数。但是,在 php 中传递的值与 javascript 函数接收到的数字不匹配,我不知道为什么。
这是调用 javascript 函数的 php:
$upc = $items[$i]->GetUPC();
print "upc: " . $upc . "<br/>";
$delete = "<a href='#' onclick='removeFromCart(". $upc .")' ><img src='".$redx."' height='17' width='17' /></a>";
print语句打印出值:0011110416605
在页面上,使用查看源代码,以下是此标记:
<a href='#' onclick='removeFromCart(0011110416605)' >
这是正在调用的 javascript 函数:
function removeFromCart(itemID){
var option = document.getElementById("select_cart");
var selected = option.options[option.selectedIndex].value;
alert(itemID);
loadCart(itemID,selected,"","remove");
}
警报框打印出号码:1226972549
我可以理解它是否删除了前导 0,但这个数字完全不同。有谁知道为什么会这样?
JavaScript 认为它是一个八进制值(因为前导零并且缺少大于的数字)7
)。八进制的十进制值0011110416605
is 1226972549
。例子:
> var value = 010; //10 in octal
> console.log(value);
> 8 //is 8 in decimal
使用字符串代替:
removeFromCart("0011110416605")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)