我试图传递一个字符串' 0541210022-0'通过Javascript方法到弹出窗口。当我在弹出窗口中查看该数字时,它显示为11575826.有人可以帮我确定为什么这个值会发生变化吗?我将添加代码以及屏幕截图。谢谢!
弹出窗口代码。首先是HTML / PHP按钮,然后是javascript。
HTML / PHP
<?php
$Number = $row['N1']."-".$row['N2'];
?>
<button onClick="openPopup(<?php echo $idt;?>, <?php echo $Number;?>);"><?php echo $idt;?></button>
的Javascript
function openPopup(id, Number) {
alert(Number);
document.getElementById('draggable').style.display = 'block';
if ( true ) console.log( "This element is draggable!" );
if ( false ) console.log( "This element failed at being draggable!" );
document.getElementById('popupID').innerHTML = id;
document.getElementById('popupNumber').innerHTML = Number;
}
此时数字= 11575826.接下来,我将向您展示屏幕截图,以帮助想象我所看到的内容。
输出到表格单元格的数字。你可以看到它是054121022-0。
接下来,我将显示在java警报中显示的数字,该数字应该是相同的数字,但它会以某种方式更改。正如您所看到的,数字与应有的数字非常不同。
谢谢你的帮助!我很困惑为什么会这样。我担心这个值会被截断,但我不知道如何将值作为字符串传递给Javascript函数。
答案 0 :(得分:4)
11575826(十进制)与054121002(八进制)相同,Javascript(与大多数C-ish语言一样)将前导零的数字视为八进制。不确定为什么最后2个被截断,或者如果这是一个错字,但你正在调用
openPopup(WhateverIdtIs, 054121002-0);
与
相同openPopup(WhateverIdtIs, 11575826-0);
你需要引用它的字符串以保持字符串:
<button onClick="openPopup('<?php echo $idt;?>', '<?php echo $Number;?>');"><?php echo $idt;?></button>
答案 1 :(得分:0)
我认为你应该用这种方式添加引号:
<button onClick="openPopup(<?php echo $idt; ?>, '<?php echo $Number; ?>');"><?php echo $idt; ?></button>