php - 无法将参数传递给作为 php 脚本变量的 javascript 函数

标签 php

<分区>

我是 php 的新手,我不知道如何在 php 和 javascript 之间做事情,如果我错了请纠正我

<!doctype html>
<html>
<head>
<Script type="text/javascript">
function show(m)
{
 var k = document.getElementById(m);
 k.src="four.jpg";
}
</head>
<body>
<? --some php code--
  $i       = 2;
  $row[$i] = "somefilename";
  printf('<img src="%s" id="%d"  onclick="show($i)"/>', $row[$i],$i);
?>

这是我的 sample.php 文件。我想通过 javascript 为图像标签引发一个 onclick 事件,img 标签是使用 php 脚本创建的,我希望它像这样

onclick="show($i)" should be made like below
onclick="show('2')" <!-- and here 2 is the value of php variable

我试过这些方法

 onclick="show('$i')" but it passes $i as the parameter to javascript show() function 
 but not the value 2

请帮我解决这些问题。实际上可能吗?据我所知,javascript 是一种浏览器脚本,而 php 是服务器端脚本,我们可以通过这种方式将变量从 php 传递到 javascript 吗?

最佳答案

有趣的是,到目前为止回答的每个人都将 printf 参数更改为使用双引号或连接变量。为什么不:

printf('<img src="%s" id="%d"  onclick="show(%d)"/>', $row[$i],$i,$i);

因为他已经在使用 printf()...?

此外,您实际上不需要来自 PHP 的值,因为它已经存在于 HTML 中。你可以只使用:

printf('<img src="%s" id="%d"  onclick="show(this.id)"/>', $row[$i],$i);

关于php - 无法将参数传递给作为 php 脚本变量的 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7889743/

相关文章:

PHP For循环,如何在显示6行后循环代码

windows-server-2008 - PHP 邮件不会从 Windows Server 2008 发送

javascript - 更改弹出日历月份语言

php - 注册后数据未发送到数据库

php - 切换功能: Remember the position

javascript - 联络表格无法正常运作

php - php 和 mysql 错误

php - 即使 Laravel 数据库中没有数据,也显示每周的天数

javascript - 客户端 (JS) 和服务器 (PHP) 中的 AES 256

php - 使用 phpmsnclass 自动接受联系人