Jas*_*247 3 javascript php html5
我使用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>";
Run Code Online (Sandbox Code Playgroud)
print语句打印出值:0011110416605
在页面上,使用视图源,这是这个标签:
<a href='#' onclick='removeFromCart(0011110416605)' >
Run Code Online (Sandbox Code Playgroud)
这是被调用的javascript函数:
function removeFromCart(itemID){
var option = document.getElementById("select_cart");
var selected = option.options[option.selectedIndex].value;
alert(itemID);
loadCart(itemID,selected,"","remove");
}
Run Code Online (Sandbox Code Playgroud)
警报框正在打印出数字:1226972549
我能理解它是否正在删除前导0,但这个数字完全不同.有谁知道为什么会这样?
JavaScript认为它是八进制值(因为前导零和缺少大于的数字7).八进制的十进制值0011110416605是1226972549.例:
> var value = 010; //10 in octal
> console.log(value);
> 8 //is 8 in decimal
Run Code Online (Sandbox Code Playgroud)
改为使用字符串:
removeFromCart("0011110416605")
Run Code Online (Sandbox Code Playgroud)