2013-05-08 60 views
3

我正在從事一個網站項目從頭開始。主頁的內容部分有一個表格和一個「博客」類的div。當用戶在管理員帳戶上登錄時,表格顯示出來。這使您可以選擇要在博客中發佈的標題和內容。當前的代碼運行良好,除了在刷新頁面時刪除了帖子。我如何永久性地將其添加到頁面?動態和永久地添加元素到您的頁面 - Javascript/jQuery

這裏是我的代碼:

<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> 
+0

你在後端運行任何東西? I.E. ASP.NET,Java,PHP等。您需要將您的文章保存到數據庫,然後在加載頁面時拉取數據。 – 2013-05-08 12:15:06

+0

是的,我的整個網站是PHP和我有一個數據庫/ MySQL服務器支持。使用它還不夠舒服,但我肯定願意學習。 – 2013-05-08 12:37:44

+0

MySQL易於使用,PHP對它有很多支持。應該有大量的教程給你。一旦你熟悉使用數據庫,你會喜歡它。我似乎記得PHP.net有很好的文檔。自從我使用PHP以來已經有一段時間了。 – 2013-05-08 13:16:31

回答

0

你應該使用一個數據庫(或平面文件,但不建議..)來存儲那些多餘的部分。在你的頁面上,創建一個數據庫連接(php.net/PDO),從數據庫中獲取所有現有記錄,當管理員存儲它時,你應該將它插入到你的數據庫中。

HTML是平的,你可以通過改變DOM動態地添加和刪除元素,但這只是你的屏幕,沒有人偷別人:)

+0

謝謝,我會看看數據庫的東西。我們還沒有太深入,所以我不確定這是否值得。 – 2013-05-08 12:20:26

+0

想通過數據庫如何做到這一點,謝謝! – 2013-05-09 23:29:24

+0

哈哈,很高興你認爲這是值得的麻煩;-)它可以是一個痛苦的屁股,當你第一次開始數據庫,但不要忘記,你總是可以問問題在這裏和其他地方:) – ChrisH 2013-05-14 07:41:15

0

我認爲這是一個靜態的HTML頁面。否則,您將從基於服務器的數據源刷新。如果您要這樣做,那麼唯一的方法就是將數據存儲爲客戶端Cookie。

+0

它實際上是所有的PHP,編碼的服務器端。 – 2013-05-08 12:21:47

0

Javascript是客戶端,這意味着當您使用jQuery將內容添加到頁面時,它僅對您的瀏覽器是本地的,而不是在服務器端(它實際上並不改變網站,它只是改變瀏覽器呈現的內容)。

您將需要使用cookies(有一個great jQuery cookies plugin,它的使用非常簡單),或者最好有一些服務器端腳本將其存儲在數據庫中,並在稍後檢索值,即使用PHP/mySQL ,因爲Cookie仍然是針對你的,而不是任何可能訪問該網站的人。如果沒有其他的東西可以使用PHP將它寫到服務器上的文本/ html文件中,然後再顯示,但這是一個非常難看的解決方案,而數據庫真的是你應該去的地方。

我可能會使用jQuery的AJAX函數調用PHP函數,當addtext()被觸發時,它會傳遞內容和標題值來寫入數據庫。然後在頁面上添加一些php代碼來檢查數據庫中現有的帖子並顯示它們。

0

您不能通過JavascriptjQuery來做到這一點,因爲它們是客戶端語言。 爲此你想實現你必須使用服務器端Languagedatabase