0

我正在尝试使用 JavaScript 制作一个非常简单的评论部分。

这是表格:

<form>
    <textarea cols="50" rows="10" placeholder="Leave your thoughts ..." id="theComment"></textarea><br/>
    <input type="text" id="commenterName" placeholder="What's your name?"/>
    <input type="button" value="Post Comment" name="postCommentButton" onclick="postComment();"/>
</form>

下面是 JavaScript:

<script type="text/javascript">
    function postComment()
    {   
        var node = document.createElement("p");
        var textComment = document.createTextNode(document.getElementById("theComment").value);
        node.appendChild(textComment);
        var element = document.getElementById("commentDisplaySection");
        element.appendChild(node);
    }
</script>

但是一旦页面重新加载,评论就会消失。如何使用 JavaScript 永久修改 HTML 文档?我必须为此使用 PHP 和 MySQL 吗?

4

3 回答 3

1

您可以使用 JavaScript 对网页进行永久更改,前提是 JavaScript 正在对服务器进行 AJAX 调用,然后服务器端脚本将应用请求的更改。

于 2013-08-13T17:09:53.480 回答
1

表示评论及其数据的流或位序列必须在某处记住(存储)——以便您自己和查看评论的其他人可以调用和显示它们。

对 DOM 的更改只与 DOM 本身一样长。如果 DOM 死了,更改也就死了。而且,DOM 总是死掉页面加载/重新加载)。

那么,如果不能存储在 DOM 中,应该存储在哪里呢?嘿等等,你可以使用 cookie 或 localStorage 吗?也许你可以。等等,不,你实际上不能。

您的cookie 存在于您的浏览器中。只要您的浏览器允许它们存活。此外,我无法直接看到您的 cookie。所以饼干出来了。localStorage 也是如此——它对你来说是本地的。

我们还能做什么?在服务器上保存 cookie 怎么样?等等这可能是它。是的!就是这个!

想想看,互联网上 100% 的网站都是这样做的!他们将数据存储在随时可用的服务器上,任何人都可以访问。答对了!

所以,简而言之,是的,使用 php/mysql。

于 2013-08-13T17:21:03.673 回答
0

好的,这样你就可以制作 MySQL 表了:

    CREATE TABLE `values` (
    `id` int(10) NOT NULL auto_increment,
    `username` varchar(50) NOT NULL default '',
    `value` varchar(2000) NOT NULL default '',
    PRIMARY KEY (`id`)
    )

然后制作一个将连接到表的 php 脚本,记住 mysql_real_escape_string。
然后你必须连接到你想要输出它的地方,并连接到同一个数据库和表,并通过用户名获取值。记得使用 htmlspecialchars。这就是我得到的。如果你想使用 ajax,你可以在这里做。

于 2013-08-13T17:20:01.333 回答