3

我正在从头开始做一个网站项目。主页的内容部分有一个表单和一个“博客”类的 div。当用户以管理员帐户登录时,将显示该表单。这使您可以选择要在博客中发布的标题和内容。当前代码运行良好,除了刷新页面时删除帖子的事实。如何将其永久添加到页面?

这是我的代码:

<script type="text/javascript">
function addtext() {
    var title = document.blogform.title.value;
    var content = document.blogform.content.value;

    var $blogTitle = $('<div class="blogtitle">' + title + '</div>');
    var $blogContent = $('<div class="blogbody">' + content + '</div>');

    $('#blog').prepend($blogContent);
    $('#blog').prepend($blogTitle);
}
</script>

<h2>Submit New Blog Post</h2>
<div class="blogtitle">Submit a new blog post:</div>
<div class="blogbody">
    <form name="blogform">
    <fieldset class="fieldsetoffset"><legend>Post</legend>
        <div>Title of Post:</div>
        <input type="text" name="title">
        <div>Content of Post:</div>
        <textarea name="content" class="comment" rows="6" cols="88"></textarea>
        <hr>
        <input type="button" value="Add New Text" onClick="addtext();">
    </fieldset> 
    </form>
</div>
<div id="blog"></div>
4

4 回答 4

0

您不能通过JavascriptjQuery因为它们是客户端语言来做到这一点。为此,您必须使用服务器端Languagedatabase

于 2013-05-08T12:32:45.983 回答
0

您应该使用数据库(或平面文件,但不推荐......)来存储这些额外的部分。在您的页面上,创建一个数据库连接 (php.net/PDO),从数据库中获取任何现有记录,当管理员存储它时,您应该将其插入到您的数据库中。

HTML 是扁平的,您可以通过更改 DOM 来动态添加和删除元素,但这仅在您的屏幕上,没有其他人 :)

于 2013-05-08T12:15:04.600 回答
0

我假设这是一个静态 HTML 页面。否则,您将从基于服务器的数据源进行刷新。如果您要这样做,那么唯一的另一种方法是将数据存储为客户端 cookie。

于 2013-05-08T12:16:47.430 回答
0

Javascript是客户端,这意味着当您使用jQuery向页面添加内容时,它仅在您的浏览器本地,而不是在服务器端(它实际上并没有改变网站,它只是改变了您的浏览器正在呈现的内容)。

您将需要使用 cookie(有一个很棒的 jQuery cookies 插件,使用起来非常简单),或者最好有某种服务器端脚本将其存储在数据库中并稍后检索值,即使用 PHP/mySQL,因为 cookie 仍将是特定于您而不是任何可能访问该网站的人。如果没有别的,您可以使用 PHP 将其写入服务器上的 text/html 文件,然后稍后显示,但这是一个非常丑陋的解决方案,而数据库确实是您应该去的地方。

我可能会使用 jQuery 的 AJAX 函数在addtext()触发时调用 PHP 函数,将内容和标题值传递给数据库以写入数据库。然后在页面上添加一些 php 代码来检查数据库中的现有帖子并显示它们。

于 2013-05-08T12:20:01.710 回答