显示消息而不重新加载页面

时间:2015-11-28 05:37:12

标签: php jquery html

我的问题是每次我想要显示新消息我必须重新加载此页面以显示新消息但我想显示新消息而不重新加载页面我可以从JQuery实现此目的。请帮帮我

此部分是消息显示的位置

$message_query= mysql_query ("SELECT `from_id`, `message` FROM `messages` WHERE `group_hash`='$hash'"); 
  while($run_message = mysql_fetch_assoc($message_query))
      {
         $from_id = $run_message['from_id'];
         $message = $run_message['message'];
        $user_query = mysql_query("SELECT `username` FROM `users` WHERE    `id`='$from_id'");
  $run_user = mysql_fetch_array($user_query);
  $from_username = $run_user['username'];
                echo "<p><b>$from_username</b><br />$message</p>";// this is the place where the message is displayed
      }

这部分是我点击提交按钮发送消息的地方

<form method="POST">
        <?php
        if(isset($_POST['message']) && !empty($_POST['message']))
    {
     $new_message = $_POST['message'];
        mysql_query("INSERT INTO `u313495632_test`.`messages` (`id`, `group_hash`, `from_id`, `message`) VALUES ('', '$hash', '$my_id', '$new_message');");
        header('Location: conversation.php?hash='.$hash);
    }

    ?>
    Enter Message :<br/>
    <textarea name="message" rows='4' cols='30'></textarea>
    <br><br>
    <input type="submit" value="send message" />
    </form>

这就是页面的样子

enter image description here

2 个答案:

答案 0 :(得分:1)

你的脚本中的

写下这样的东西:

<script>
$(document).ready(function(){
    $('form').submit(function(e){
        e.preventDefault();
        $.ajax({
            type: 'POST',
            url: "yourPhpFile.php",
            data:{message:$('textarea[name="message"]').val()},
            async:true,
            success: function(result){
                //do something
            }
        });
   });
});
</script>

答案 1 :(得分:0)

//这是您的页面显示的地方然后使用此jquery var timeout = setInterval(reloadpage,5000); function reloadpage(){$(&#39; #page&#39;)。load(&#39; page。 php&#39;);} //请注意,这会每五秒刷新一次页面