两张图片,由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变量进行比较?
答案 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中获取值