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>';  
    }
?>

プレイリストは正しくループしますが、関数が機能するようになると、songID が一致するとプレイリストが消えます。

これは、変数を使用してデータベースから情報を取得しながら 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

I'm not sure exactly what you are trying to accomplish but the only JavaScript I see manipulating the DOM just erases the content...

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

thus whatever content these items used to have would be erased. Is this what you intended? or the source of the problem?

于 2012-10-23T13:14:09.450 に答える