JS関数は
function func(arg){
alert(arg);
}
私がする時
echo "<div onclick=\"func($arg)\">Text</div>";
PHPでは機能しませんが、機能すると
echo "<div onclick=\"func()\">Text</div>";
それは機能し、未定義のテキストを含むアラートがポップアップします。
引数を渡すにはどうすればよいですか?
JS関数は
function func(arg){
alert(arg);
}
私がする時
echo "<div onclick=\"func($arg)\">Text</div>";
PHPでは機能しませんが、機能すると
echo "<div onclick=\"func()\">Text</div>";
それは機能し、未定義のテキストを含むアラートがポップアップします。
引数を渡すにはどうすればよいですか?
引数を引用する必要があります。例えば
<?php
$foo = 'bar';
?>
echo "function($foo) { ... }";
コードを生成します
function(bar) { ... }
wherebar
は未定義の変数として解釈されます。
最も安全な方法は、php 変数を json_encode() 経由で出力して、構文的に有効な JavaScript を生成していることを保証することです。例えば
echo 'function(' . json_encode($foo) . ') { ... }';
(この場合)
function ('bar') { ... }
引用符で囲む必要があり$arg
ます。例:
echo "<div onclick=\"func('$arg')\">Text</div>";
(文字列に二重引用符を使用しているため、単一引用符をarg
使用しています)