混合PHP和jQuery

And*_*ndy 0 html php jquery

和以前一样在同一个页面上工作,但是现在我把它当作一个玩弄jQuery的游乐场,所以我可以为我的'boss'学习它.不幸的是,我无法在此文件中执行javascript来执行,更不用说给我一个警告.页面上的所有PHP和HTML都能很好地工作,这只是脚本的问题.我究竟做错了什么?

<?php

  if( isset($_POST['mushu']) )
  {
    playAnimation();
    clickInc();
  }

  function playAnimation()
  {
     echo "<img src='cocktail-kitten.jpg' id='blur'>";
  }

  function clickInc()
  {
    $count = glob("click*.txt");

    $clicks = file($count[0]);
    $clicks[0]+=1;

    $fp = fopen($count[0], "w") or die("Can't open file");
    fputs($fp, $clicks[0]);
    fclose($fp);

    echo $clicks[0];

  }
?>

<html>

  <head>

    <title>Adobe Kitten</title>

    <script type="text/javascript" src="jquery.js"></script>

  </head>

  <body>

    <form action="<?php $_SERVER['PHP_SELF']; ?>"
          method="post">
    <input type="submit"
           value="Let's see what Mushu is up to."
           name="mushu">
    </form>

    <script>
      $(document).ready( function()
      {
        $('#blur').click( function()
        {
          $(this).blur( function()
          {
            alert('Handler for .blur() called.');
          });
        });
      });
    </script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

Sco*_*ers 5

您在标记playAnimation()之前调用<html>,因此您的HTML格式不正确.JQuery可能找不到这个#blur元素,因为它实际上并不在你的网页中,更不用说了<body>.

if( isset($_POST['mushu'])) ...代码块移动到body标记之后的某处.