php - 如何将 PHP 数组参数传递给 Javascript 函数?

标签 php javascript html client-server server-side-scripting

index.php

<script type="text/javascript" src="javascript.js"> </script>
<?php
 $movies = array("Bloodsport", "Kickboxer", "Cyborg", "Timecop", "Universal Soldier", "In Hell", "The Quest");
?>

<input type="submit" value="Test Javascript" onclick="showMovies(<?php echo $movies; ?>);" />


javascript.js

function showMovies(movies) {
 alert(movies.length);

 return false;
}

我是编程新手,所以我很难修复这个对你们来说显然很简单的问题。

当我点击提交按钮时,它说数组大小为 1,我认为应该是 7。这怎么可能?

最佳答案

<input type="submit" value="Test Javascript" onclick='showMovies(<?php echo json_encode($movies); ?>);' />

注意 json_encode,它为 Javascript(JSON 代表 JavaScript 对象表示法)编码对象或数组,还要注意 ' 而不是 ",因为 JSON 使用 "

虽然,这个解决方案会更好:

<script type="text/javascript">
    document.getElementByID('submitButton').onclick = function() {
        var movies = <?php echo json_encode($movies); ?>;
        showMovies(movies);
    };
</script>
...
<input type="submit" value="Test JavaScript" id="submitButton">

关于php - 如何将 PHP 数组参数传递给 Javascript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6502107/

相关文章:

使用 Wix 网站构建器的 Javascript

html - Coinflip 动画没有正确旋转(以及 css 动画中的多个变换)

html - 在站点中所有页面的顶部设置导航的最佳实践?

php - XML 解析 - 缺少节点

php - 使用 View CakePHP 2.8.x 时从多个表中删除记录

php - 如何在Mysql中生成随机日期

javascript - 光标锁定时如何获取mouseMovement?

php - Yii 1 : UrlManager does not call the correct action in module controller

javascript - GetStream-IO - 具有实时数据的动态内容

javascript - 从同一个 onclick 失败调用两个函数