如何在不使用ajax刷新页面的情况下提交div加载?

时间:2017-01-19 16:44:25

标签: javascript php ajax

这是我的代码工作正常,但它必须在每次提交时重新加载。我想在每次点击提交按钮时重新加载comments.php

我应该用JavaScript写什么?

Index.php:



<div class="form-group">
  <form action="" method="post" id="reply" enctype="multipart/form-data"  >
    <div class="input-group">
      <input   type="text" placeholder="say something" class="form-control" name="comment"/>
      <br/>
      <button class="btn btn-info"  type="submit" name="submit">submit</button>
    </div>
  </form>
</div>
 
<?php
  if(isset($_POST['submit'])){
    //php goes here
  }      
?>

<div>
  <?php include("comments.php") ; ?> 
  // i  want  to make this reload on every submit 
</div>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:0)

{{1}}

这是用jquery

答案 1 :(得分:0)

这个问题使用jquery。如果您不知道,请访问http://jquery.org了解更多信息:

在comments.php周围添加一个div:

<div id="comments">
  <?php include("comments.php") ; ?> 
</div>

现在您可以捕获提交并将其替换为ajax调用+重新加载注释:

<script>
 $(document).ready(function(){
  $("#reply").on("submit",function(e){
    e.preventDefault();
    $.ajax();//todo for you. I cannot write this with this rare information
    $("#comments").load("comments.php");//the magic part
    return false;//prevent the real submit
  }):
});
</script>

答案 2 :(得分:0)

您可以使用jQuery load()方法。

jQuery load()方法从服务器加载数据并将返回的HTML放入选定的元素中。此方法提供了一种从Web服务器异步加载数据的简单方法。

load()方法的参数具有以下含义:

  1. 必需的URL参数指定您想要的文件的URL 加载。
  2. 可选的data参数指定一组查询字符串     (即键/值对)与。一起发送到Web服务器     请求。
  3. 可选的完整参数基本上是一个回调函数 在请求完成时执行。回调被解雇了 每个选定元素一次。
  4. 你的HTML:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
        $("button").click(function(){
            $("#box").load("comments.php");
        });
    });
    </script>
    </head>
    <body>
        <div id="comments">
    
        </div>
        <button type="button">Load Comments</button>
    </body>
    </html>
    

    <强>的comments.php

    <?php
    
    
        //content here
    
        echo "I'm loaded";
    
        ?>