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/