これも想定どおりに機能します。
<script>
function test() {alert("add to cart was triggered!");}
</script>
<img src="images/add-to-cart.png" width="143" height="45" onclick="test()">
ただし、これはそうではありません - (PHP はコードを正しく生成しますが、ブラウザーに提供されたときに JavaScript 関数をトリガーしません)
<script>
function <?=$prodadd?>() { alert("add to cart was triggered!");}
</script>
<img src="images/add-to-cart.png" width="143" height="45" onclick="<?=$prodadd?>()">
ハードコードされたバージョンと PHP で生成されたバージョンによって生成されたソース コードを見ると、それらは同一であり、次のようになります。
<script>
function 1prodadd()
{alert("add to cart was triggered!");}
</script>
<img src="images/add-to-cart.png" width="143" height="45" onclick="1prodadd()">
PHP によって生成された関数名が関数として機能しなくなるのはなぜですか? ソースコードに違いは見られないので、私が直接コード化したものとPHPが生成したものとの間でエンコードされているものが異なることはわかりません。どんな助けでも大歓迎です。