如何获取点击图像的名称并将其与php变量进行比较?

时间:2012-08-10 08:45:14

标签: php javascript

两张图片,由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 个答案:

答案 0 :(得分: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

以上代码段将完成您的工作 感谢

答案 1 :(得分: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");
   }
}

答案 2 :(得分: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页面中的每个图像,如下所示:

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
...
}

答案 3 :(得分:1)

将$ x的值放在隐藏字段中。你可以从javascript中获取值