1
<a href='javascript:void(0)' onclick='show($ID);'>ID</a>

私の$IDは0000001000です。

私のshow()関数が取得するのは0000001000ではなく512です

String()と.toString()を使用して$ IDを文字列にキャストしようとしましたが、alert()を実行すると512が返されます。

オクタルモードについて何か読んだ。どうすればこれを防止または修正できますか?

関数に0000001000を読み取らせたい

4

3 に答える 3

3

文字列として渡す必要があります:

echo "<a href='javascript:void(0)' onclick='show(\"" . $ID . "\");'>ID</a>";

それ以外の場合は、8進数から10進数の表記に自動的にキャストされoct(1000) === dec(512)ます。

于 2013-01-15T16:43:51.403 に答える
1

0000001000show関数に渡すと、8進数(@Oscar Lopazへのクレジット)(512)として解釈されているように見えます。代わりに文字列として渡してみてください。

<a href="javascript:void(0)" onclick="show('" + $ID + "');">ID</a>
于 2013-01-15T16:44:47.567 に答える
1

ゼロで始まる数値は、Javascriptでは8進数(2進数ではありません!)と見なされます。8進数で1000==10進数で512。この種の問題を回避するには、値を文字列として処理する必要があります。

于 2013-01-15T16:46:03.233 に答える