2

PHPによって配置された2つの画像:

echo "<img onclick='test()' src=\"/img/Sun.png."\">";
echo "<img onclick='test()' src=\"/img/Moon.png."\">";
$x = "Sun.png";

js:

function test(){
if (clicked_image_name == $x) ...do something

では、クリックされた画像の名前を取得する方法と、それをphp変数と比較する方法は?

4

4 に答える 4

1
echo "<img onclick='test(this.src)' src=\"/img/Sun.png."\">";
echo "<img onclick='test(this.src)' src=\"/img/Moon.png."\">";

js:

function test(img_src){
var clicked_image_name = img_src.substring(5);
if (clicked_image_name == '<?php echo $x;?>') ...do something

上記のコードスニペットはあなたの仕事をします。
ありがとう

于 2012-08-10T08:50:48.860 に答える
1

あなたは一つのことをすることができます、

1つのjavascript変数とその値をphpコードで宣言できます:-

var imageName = "<?php echo "Sun.png"?>";

そして、phpコードを変更して、画像のsrc名を変数として渡すことができます。

echo "<img onclick='test("Sun.png")' src=\"/img/Sun.png."\">";

そして、javscription test()関数で、その値を確認できます

function test(imageSrcName)
{
   if(imageSrcName == imageName)
   {
       alert("both image name are same");
   }
   else
   {
       alert("both image name are different");
   }
}
于 2012-08-10T08:53:22.670 に答える
1

次のように、php ページへの test() 呼び出しに引数を追加するだけです。

echo "<img onclick='test(\"$mysunvariable\")'  src=\"/img/Sun.png."\">";
echo "<img onclick='test(\"$mymoonvariable\")' src=\"/img/Moon.png."\">";

そしてあなたのJSで:

function test(name){
   if(name == 'Sun.jpg'){
      do something
   }
   other cases..
}

または、PHP の動的変数と比較する必要がある場合は、PHP サービスを作成し、非同期の GET または POST (たとえば AJAX を使用) で呼び出す必要があります。

その場合、画像名を取得するには、次のように PHP ページの各画像に name パラメータを追加します。

echo "<img onclick='test(this)' name=\"sun\"  src=\"/img/Sun.png."\">";
echo "<img onclick='test(this)' name=\"moon\" src=\"/img/Moon.png."\">";

次に、JS 関数を次のように変更します。

function test(img){
   var myname = img.name;
   here you do your async stuff
...
}
于 2012-08-10T09:02:25.450 に答える
1

$x の値を隠しフィールドに入れます。次に、javascriptから値を取得できます

于 2012-08-10T09:05:21.907 に答える