dousha2020 2013-03-10 08:43
浏览 38
已采纳

使用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!

  • 写回答

1条回答 默认 最新

  • doujiu8145 2013-03-10 08:51
    关注

    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>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?