0

我不确定这是否可能或者是否有其他方法可以做到这一点,但我一直在尝试用 PHP 循环一个 JavaScript 函数。

JavaScript/PHP 功能:

<script type="text/javascript">
<?php
while ($songsFunction = mysql_fetch_array($result3)) {
    echo "function ".$songsFunction['songID']."(){";
    echo "document.getElementById('ogg').src='';";
    echo "document.getElementById('mp3').src='';";
    echo "document.getElementById('songName').innerHTML='';";
    echo "audio.load();";
    echo "playPause();";
    }
?>
</script>

我有songID出现在播放列表中:

<?php while ($haha = mysql_fetch_array($result3)) {
    echo   '<ul>
            <li>
            <a href="#" onClick="'.$songFunction['songID'].'();">'.$songFunction['songName'].'</a>
            <a href="'.$songFunction['mp3Link'].'"><img src="../images/download.png"></a>
            </li>
            </ul>';  
    }
?>

播放列表正确循环,但是当我让功能正常工作时,如果歌曲 ID 匹配,播放列表就会消失。

这是在通过带有变量的数据库提取信息时循环 JavaScript 函数的正确方法吗?

4

3 回答 3

0

这绝对不是这样做的方法。

场景应该是:

  1. 用户单击播放列表中的歌曲。
  2. 触发点击事件,向 php 脚本发送ajax请求。
  3. PHP 脚本从 DB 中提取数据并返回格式为json的响应
  4. js 代码使用 json 响应并对其进行处理。
于 2012-10-23T13:15:28.220 回答
0

您没有关闭 JavaScript 函数。

于 2012-10-23T13:12:32.197 回答
0

我不确定您到底要完成什么,但我看到的唯一操纵 DOM 的 JavaScript 只是删除了内容......

echo "document.getElementById('ogg').src='';";
echo "document.getElementById('mp3').src='';";
echo "document.getElementById('songName').innerHTML='';";

因此,这些项目曾经拥有的任何内容都将被删除。这是你想要的吗?还是问题的根源?

于 2012-10-23T13:14:09.450 回答