使用ajax刷新javascript

when i use ajax to reload a div on a page, it works, but not when I try to reload a script. my javascript is dynamic, from a database, and so is my div. here is my code:

        <ul id="classes">
            <?php
            $email = 'thomas990428@me.com_classes';

            $result = mysqli_query($con,"SELECT * FROM `$email` ORDER BY period"); if (!$result) echo mysqli_error(); else // ok, do your thing.

            $classcount = 1;

            while($row = mysqli_fetch_array($result))
              {

              $period = $row['period'];
              $teacher = $row['teacher'];
              $subject = $row['subject'];
              $subjecto = strtolower($subject);
              $subjecto = str_replace(' ', '', $subjecto);
              $grade = $row['grade'];

              echo "<li id='button" . $classcount . "' class='button' onclick='" . $subjecto . "(),homework" . $classcount . "()'><div class='deletebutton' onclick='deleteclass" . $subjecto . "()'>X</div><span class='course'>" . $classcount . ". " . $subject . "</span></li>
";

              $classcount += 1;

              }

            ?>
    <script>

        <?php
        $email = 'thomas990428@me.com_classes';

        $result = mysqli_query($con,"SELECT * FROM `$email`");

        while($row = mysqli_fetch_array($result))
          {

          $period = $row['period'];
          $teacher = $row['teacher'];
          $subject = $row['subject'];
          $subjecto = strtolower($subject);
          $subjecto = str_replace(' ', '', $subjecto);
          $grade = $row['grade'];

          echo "function deleteclass" . $subjecto . "() { 
";
          echo "var hi = confirm('Are you absolutely sure you want to permantly delete this class? This cannot be undone.'); 
";
          echo "if (hi==true) 
";
          echo "{ 
";
          echo "document.getElementById('hiddenframe').src='deleteclass.php?class=".$subjecto."';";
          echo "closeedit();";
          echo "refreshclasses();";
          echo "} 
";
          echo "else 
";
          echo "{} 
";
          echo "} 
";

          }

        ?>


    </script>
        </ul>
        <iframe id="hiddenframe"></iframe>

so basically it refreshes the ul but not the script. I need it to refresh both in order to do what i need it to do. Any ideas? Thanks!

Read comments first, and...

On examining your code, why don't you do this instead?

function deleteClass(subjecto, period, teacher, ...)

and

onclick='deleteClass(" . $subjecto . ", " . $period. ", " . $teacher. ")'

If you just want it to work for now, you can do this:

replace:

<div class='deletebutton' onclick='deleteclass" . $subjecto . "()'>X</div>

to:

<div class='deletebutton' onclick='deleteclass(" . $subjecto . ")'>X</div>

and replace the whole echo <script> part with:

function deleteclass(subjecto){
    var hi = confirm('Are you absolutely sure you want to permantly delete this class? This cannot be undone.');
    if (hi==true)
    {
        document.getElementById('hiddenframe').src='deleteclass.php?class='+subjecto;
        closeedit();
        refreshclasses();
    }
}
</script>