2

两张图片,由php放置:

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

你可以做一件事,

您可以通过 php 代码声明一个 javascript 变量及其值:-

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)。

在这种情况下,要获取图像名称,您可以将 name 参数添加到 PHP 页面中的每个图像,如下所示:

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 回答