【问题标题】:changing content of a div with javascript and php include使用 javascript 和 php 更改 div 的内容包括
【发布时间】:2009-11-14 17:48:02
【问题描述】:

我想用我的 div 做一些类似 iframe 的事情。

基本上,我已经做到了让链接改变 div 的内容,如下所示:

<a href="#self" onClick="document.getElementById('maincontent').innerHTML = '<?php include 'file.php'; ?>';">Open file</a>

这很好用,但遗憾的是,如果我在其中创建另一个链接以将内容更改回第一个文件,服务器就会陷入无限循环并崩溃。

我真的只是想找到一些方法来动态更改内容,并使用 php.ini 从文件中获取该内容。如果我的处理方式完全荒谬,我非常感谢您的建议。

【问题讨论】:

    标签: php javascript html


    【解决方案1】:

    我认为最好和最简单的方法是使用 jQuery:

    <script type="text/javascript">
    $('#addContent').click(function(){
       $("#maincontent").load("file.php");
       return false;
    });
    </script>
    
    <a href="#" id="addContent">Open File</a>
    <div id="maincontent"></div>
    

    此脚本将使用 ajax 调用将 file.php 的内容加载到选定的 div 中。

    【讨论】:

      【解决方案2】:

      这看起来是jQuery's load() 函数的好地方。只需给 div 一个 id,向链接添加一个点击事件,并让该事件将您的 php 脚本的内容加载到 div 中。当您加载新数据时,可能会在 div 中附加一个类(例如,“更新”)。这样,您的点击事件可以检查 div 上的 is('.uploaded') 并在再次点击链接时将其切换回来。

      【讨论】:

        【解决方案3】:

        将 div 放在 #maincontent 中,以保存您想要的不同内容。给出 div 的 ID。单击链接时隐藏/显示相应的内容

        这是一个类似的帖子:Tabbing in PHP?

        【讨论】:

          【解决方案4】:

          首先,我建议不要这样构建事件处理程序。一方面,您必须非常小心正确地转义内容。我会这样做:

          <div id="content1">
          <?php include 'file1.php'; ?>
          </div>
          <div id="content2">
          <?php include 'file2.php'; ?>
          </div>
          

          然后用 Javascript 操作那些。您可以设置 innerHTML 或简单地隐藏/显示相关的 div。所以:

          <script type="text/javascript">
          var content = 1;
          
          function swap_content() {
            document.getElementById('maincontent').innerHTML = document.getElementById('content' + content).innerHTML
            if (content == 1) {
              content = 2;
            } else {
              content = 1;
            }
          }
          </script>
          <a href="#" onclick="swap_content();">Open File</a>
          

          或者,您可以根据需要隐藏/显示它们,而不是复制内容。

          最后,虽然这不是必需的,但在 jQuery 等 Javascript 库中执行此操作要简单得多。

          【讨论】:

            【解决方案5】:

            在我看来,您应该使用 AJAX。在 clickevent 上(您也不应该与内联代码绑定),而是使用 XHR 请求加载内容。

            为了让您的生活更轻松,我建议您查看 JavaScript 库,我个人最喜欢的是 jQuery (www.jquery.com)。要实现您想要做的事情,您只需这样做:

            $('#id_to_the_a_tag').click(function() {
                $("#maincontent").load("file.php");
                return: false;
            });
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2011-09-24
              • 2015-05-06
              • 1970-01-01
              • 1970-01-01
              • 2023-03-28
              • 2018-04-05
              相关资源
              最近更新 更多