0

假设您有这样的Javascript功能:

function foo(param1,param2)
{
//some code here
}

param1param2存储在myDatabase.

page.php请求myDatabase提取param1and param2,然后将它们存储为PHP变量$param1and $param2

如何转换$param1$param2PHP到,Javascript所以我可以调用我的函数。

<div onClick="foo(param1,param2)"></div>
4

6 回答 6

2

在您的 PHP 文件中,如果$param1是整数并且$param2是您编写的字符串

echo "<div onclick=\"foo($param1, '$param2')\"></div>";
于 2013-08-03T10:18:27.493 回答
1

您必须将这些 PHP 变量值打印到页面上,以便 JavaScript 可以访问它们。

像这样:

<script>

var param1 = <?= json_encode( $param1 ) ?>;
var param2 = <?= json_encode( $param2 ) ?>;


... other code ...

</script>

json_encode()用于在字符串中添加引号、转义引号等。
没有它,您的 php 字符串可能会破坏 javascript 语法。

于 2013-08-03T10:16:07.240 回答
1

你可以这样使用

 var simple ='<?php echo $sparam1; ?>';

然后传入参数

于 2013-08-03T10:16:35.070 回答
1
<div onClick="foo('<?php echo $param1 ?>', '<?php echo $param2 ?>')"></div>

确保正确使用单引号和双引号。

于 2013-08-03T10:17:54.603 回答
1

你有没有想过:

<div onClick="foo(<?php echo $param1 ?>,(<?php echo $param2 ?>)"></div>

如果 $param1 和 $param2 应该是字符串、数组或对象,那么您应该在回显之前使用 json_encode:

<div onClick="foo(<?php echo htmlspecialchars(json_encode($param1)) ?>,(<?php echo htmlspecialchars(json_encode($param2)) ?>)"></div>
于 2013-08-03T10:18:08.943 回答
1
<div onClick="foo('<?= $param1; ?>','<?= $param2; ?>')"></div>
于 2013-08-03T10:18:53.950 回答