Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用ajax刷新javascript_Php_Javascript_Html_Ajax_Reload - Fatal编程技术网

Php 使用ajax刷新javascript

Php 使用ajax刷新javascript,php,javascript,html,ajax,reload,Php,Javascript,Html,Ajax,Reload,当我使用ajax在页面上重新加载div时,它可以工作,但当我尝试重新加载脚本时就不行了。我的javascript是动态的,来自数据库,我的div也是动态的。下面是我的代码: <ul id="classes"> <?php $email = 'thomas990428@me.com_classes'; $result = mysqli_query($con,"SELECT * FROM `$

当我使用ajax在页面上重新加载div时,它可以工作,但当我尝试重新加载脚本时就不行了。我的javascript是动态的,来自数据库,我的div也是动态的。下面是我的代码:

        <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>\n";

              $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 . "() { \n";
          echo "var hi = confirm('Are you absolutely sure you want to permantly delete this class? This cannot be undone.'); \n";
          echo "if (hi==true) \n";
          echo "{ \n";
          echo "document.getElementById('hiddenframe').src='deleteclass.php?class=".$subjecto."';";
          echo "closeedit();";
          echo "refreshclasses();";
          echo "} \n";
          echo "else \n";
          echo "{} \n";
          echo "} \n";

          }

        ?>


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

    先看评论,然后

    在检查代码时,为什么不这样做呢

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

    如果您现在只想让它工作,您可以这样做:

    替换:

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

    X
    
    并将整个回波部分替换为:

    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>
    
    函数删除类(subjecto){
    var hi=confirm('您绝对确定要永久删除此类吗?此操作无法撤消');
    如果(hi==真)
    {
    document.getElementById('hiddenframe').src='deleteclass.php?class=''+subjecto;
    closeedit();
    刷新类();
    }
    }
    
    您是否尝试向页面添加新的
    标记?请看。您可以按照Aiias所说的做,也可以使用静态JS函数和从AJAX返回的动态变量。但不幸的是,您不能在客户端单独使用动态“javascript+php脚本”。它看起来不像是在函数中使用句点或教师,但我添加它们只是为了给您一个想法。对不起,我对javascript有点陌生,那么我如何从参数中提取“subjectto”并在
    document.getElementById('hiddenframe')中使用它呢.src='deleteclass.php?class=
    <div class='deletebutton' onclick='deleteclass(" . $subjecto . ")'>X</div>
    
    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>