两张图片,由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 变量进行比较?
两张图片,由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 变量进行比较?
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
上面的代码片段将完成您的工作。
谢谢
你可以做一件事,
您可以通过 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");
}
}
您可以简单地向您的 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
...
}
将 $x 的值放在隐藏字段中。然后你就可以从javascript中获取价值了