【问题标题】:How to permanently change website content based on user input (in HTML)?如何根据用户输入(HTML)永久更改网站内容?
【发布时间】:2020-06-13 07:18:00
【问题描述】:

所以我正在制作一个网站(在 HTML 中),用户可以在其中永久地将文本添加到网站的内容中。因此,如果有人在那之后访问该网站,他会看到修改后的内容。修改应该是永久性的,并且在重新加载后不应该消失。 为此,我使用了以下代码:

        <form id="myform" method="POST" action="">
            <input type="text" name="textbox" value="">
            <input type="button" name="button1" value="SUBMIT" onclick="func()">
        </form>
        <br>
        <p id="Test"></p>
        <script>
            function func()
            {
                var x=document.getElementById("myform");
                var text=x.elements[0].value;
                document.getElementById("Test").innerHTML+=text;
            }
        </script>

但更改仅在客户端进行,而不是在网站上进行。那么如何根据用户输入更改网站的源代码,以便永久更改。在这种情况下,对&lt;p id="Test"&gt;&lt;/p&gt; 所做的更改如何在页面重新加载后恢复到默认值时保持永久不变。 非常感谢!

【问题讨论】:

  • 你的网络服务器是什么?这就是你需要修改页面源的地方。
  • 您不能单独使用静态 HTML 文件来执行此操作。您需要使用带有数据库的服务器端平台(例如 PHP)来存储持久数据。

标签: javascript html forms input dynamic


【解决方案1】:

这个过程包含两个要执行的步骤。

  1. 您已执行,从客户端收集用户输入。
  2. 您必须将此数据发送到您的服务器和服务器 然后将这些数据保存在您的数据库中,然后您的 html 页面得到 来自服务器和用户的更新数据将看到修改后的内容。

要向服务器发送数据,您必须使用 ajax post 请求向服务器发送数据 像这样

request = $.ajax({
    url: "Your server url",
    type: "post",
    data: data
});

// Callback handler that will be called on success
request.done(function (response, textStatus, jqXHR){
    // Log a message to the console
    console.log("Hooray, it worked!");
});

然后服务器将收到它并将数据保存到数据库中。

【讨论】:

  • ok 数据保存在数据库中。现在如何在不重新加载站点的情况下在客户端的浏览器上更新它。
  • 首先在浏览器中更新,如您上面所说,页面重新加载后,它将从数据库中获取数据并更新页面上的数据
  • 但我希望它在不重新加载页面的情况下动态保持更新。如果一个客户端添加了一些内容,那么它应该立即对网站上存在的所有其他客户端可见,而无需重新加载。我该怎么做?
  • 有没有办法让网站不断检查数据库是否更新,如果有,则显示更新的数据库。
  • 你可以通过使用实时数据库(如firebase)来做到这一点,非常容易,其他解决方案很复杂
猜你喜欢
  • 2015-06-22
  • 2015-06-21
  • 1970-01-01
  • 2014-05-27
  • 2021-06-17
  • 2012-10-27
  • 2016-04-11
  • 1970-01-01
  • 2022-10-16
相关资源
最近更新 更多