RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 925547
Accepted
DrMcSheen
DrMcSheen
Asked:2020-12-26 09:23:29 +0000 UTC2020-12-26 09:23:29 +0000 UTC 2020-12-26 09:23:29 +0000 UTC

从 php 更新 div 而无需重新加载页面

  • 772

我想做一个简单的聊天。它应该大致像这样工作:

<script type="text/javascript">
$(document).ready(function () { 
   $("#div_comments").load("chat.php"); 
});
function show_chat() {
   $("#div_comments").load("chat.php");
   }; 
</script>

<div id="div_comments">
<!-- тут выводятся сообщения -->
</div>
<form method='post' action="chat.php">
   <input id='username' name='username' type='text' placeholder='Ваше имя'>
   <input id='message' name='message' type='text' placeholder='Сообщение'>
   <button id='submit' name='submit' type='submit' onClick="show_chat(); return false;" />
<form>

chat.php(示意图)

$name= $_POST['name'];
$message = $_POST['message'];     //  получаем данные из формы
mysql = "INSERT name, message";   //  пишем их в базу
$comments = mysql ("SELECT * ");  //  читаем из базы всё что есть
echo '<p>'.$comments.'</p>';      //  выводим 

我尝试了不同的变化,已经很困惑。无法让 php 工作。如果只是写

<p>message</p>

然后它被渲染。如果

<?php
echo 'message';
?>

那么什么都没有。并且提交按钮根本不起作用。请正确。

在您的评论后添加:

在空站点的根目录中创建了两个文件:

索引.html

<script type="text/javascript">
function show_chat(btn) {
   $("#div_comments").load("chat.php", $(btn).closest("form").serialize());
}
</script>
<h>ЧАТ</h>
  <div id="div_comments">
<!-- тут выводятся сообщения -->
</div>
<form>
   <input id='username' name='username' type='text' placeholder='Ваше имя'>
   <input id='message' name='message' type='text' placeholder='Сообщение'>
   <button id='submit' name='submit' type='button' onclick='show_chat(btn)'>Click<button>
</form>

聊天.php

<?php
$name = $_GET['username'];
$message = $_GET['message'];
echo '<p>'.$name.'</p>'; 
echo '<p>'.$message.'</p>'; 
?>

按下按钮,地址栏中的参数出现,输入字段被清除,仅此而已。

伊戈尔,关于使用数据库,谢谢,我什么都能做,我只是不想在这里把代码弄得乱七八糟,我是“按示意图”写的。是的,这还没有关系。

javascript
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    user176262
    2020-12-26T13:39:30Z2020-12-26T13:39:30Z

    http://api.jquery.com/load/

    function show_chat(btn) {
      var data = $(btn).closest("form").serialize();
      console.log("show_chat", data);
      $("#div_comments").load("chat.php", data, function(response, status, xhr) {
        console.log("complete", response, status, xhr);
      });
    }
    
    <button id='submit' name='submit' type='button' onclick="show_chat(this)">Click</button>
    
    $name = $_GET['username'];
    $message = $_GET['message'];
    

    mysql = "INSERT name, message";   //  пишем их в базу
    

    您至少仍然阅读了如何“写入数据库”的内容。

    $comments = mysql ("SELECT * ");  //  читаем из базы всё что есть
    

    ...以及如何阅读 - 也是。


    让我们弄清楚。你说:

    按下按钮,地址栏中的参数出现,输入字段被清除,仅此而已。

    您所描述的是表单提交和页面重新加载。虽然type='button'这不应该发生。页面上还有更多表格吗?

    我还错过了按钮结束标记中的斜线。

    • 1

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    是否可以在 C++ 中继承类 <---> 结构?

    • 2 个回答
  • Marko Smith

    这种神经网络架构适合文本分类吗?

    • 1 个回答
  • Marko Smith

    为什么分配的工作方式不同?

    • 3 个回答
  • Marko Smith

    控制台中的光标坐标

    • 1 个回答
  • Marko Smith

    如何在 C++ 中删除类的实例?

    • 4 个回答
  • Marko Smith

    点是否属于线段的问题

    • 2 个回答
  • Marko Smith

    json结构错误

    • 1 个回答
  • Marko Smith

    ServiceWorker 中的“获取”事件

    • 1 个回答
  • Marko Smith

    c ++控制台应用程序exe文件[重复]

    • 1 个回答
  • Marko Smith

    按多列从sql表中选择

    • 1 个回答
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Suvitruf - Andrei Apanasik 什么是空? 2020-08-21 01:48:09 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5