PHPを使用してMYSQLデータベースからデータを取得するWebアプリケーションを作成しています。その面で問題はありません。選択されたデータは、最終的にコーチングのためのスポーツ練習を示すSVG画像を生成するために使用される。これまでのところうまくいきます。 埋め込みSVGコードからJavascript関数へのSVG "onMouseOver"マウス呼び出しを使用して、エクササイズのコーチングポイントに関するテキスト情報を表示したいと考えています。 svgコードは、sprintf関数に組み込まれています。SVGに埋め込まれたPHP変数をJavascript関数に渡す
$ID="E".$yourArray[$y-1]['ExerciseID'];
echo "Exercise ID is....". $ID."<br>";
$tablesvg=$tablesvg .sprintf('<use xlink:href="#table" id="%3$s" onMouseOver="showID()" fill="beige" x="%1$d" y="%2$d"/>',$tb1xcoord, $tbycoordoffset,$ID);
php変数のデータが、以下に示すjavascript関数内に表示されないという問題があります。 Alertテキストが表示されるので、機能は安定しています。
限り、私はそれが仕事をしてPHPの変数を渡すようにしようとしないよう<script type="text/JavaScript">
function showID()
{
var jsvar = '<?php echo $ID;?>';
var test=document.getElementById(jsvar).getAttributeNS(null,"fill");
alert("Exercise ID is:" + test);
}
</script>
- Iハードコード場合はJS関数のDOMの一部は、値(E1)動作します。
はその出力コードですPHP関数のJavascript?関数は 'global $ ID;'を持っていますか? – Barmar
'$ ID'を配列にループするコードはありますか?あなたの '$ yourArray [$ y-1]'の使用はそれを示唆しているようです。あなたは '$ ID'をJavascriptで保持すると期待していますか? – Barmar
もともとはいですが、動作しなかったときは、Javascript領域で関数を分離しました。 – Charlie