2013-06-27 44 views
0

我正在使用PHP/MySQL創建一個博客,並且有一個編輯帖子功能。自動擴展div如果textarea有內容

當點擊「編輯」頁面「刷新」(進入同一頁面但URL改變)時,<div>展開,他們想要編輯的帖子文本現在顯示在<textarea>中。

在另一個SO用戶的幫助下,我完成了部分工作。唯一的問題是它將可編輯文本放入每個<texarea>框中。

這裏有一個工作示例:http://thebulb.daysofthedead.net/testing.php

我對如何得到這個工作的一些想法,但不知道如何做到這一點,因爲我不擅長使用jQuery或Ajax的:

  1. 添加一個帶有可編輯內容的<textarea>的ID,並將該ID傳遞給jQuery腳本的 。
  2. 不要更改頁面,只需使用Ajax至 將他們要編輯的文本插入到<textarea>
  3. 當他們點擊「編輯」時,將帶有文字的框變爲<textarea>框與 提交表單。我可以通過使用我發現的 (http://jsfiddle.net/25Hay/2/),但我不知道如何將 提交到我的PHP腳本進行驗證並插入到數據庫中來找到該部分。

這裏是我的jQuery目前使用:

$(function(){ 
    // Insert editable text into the <textarea> box 
    $('.blogcontainer textarea[name=postcontent]').filter(function(i) { return $.trim($(this).val()) != ""; }).closest('.postreplycontainer').slideDown("fast"); 

    // Execute when Edit link is clicked 
    $(document).on('click', '.postreply', function(e) { 
     // Collapse all previous expanded <div>'s 
     $(this).closest('.blogcontainer').siblings('.blogcontainer').find('.postreplycontainer').slideUp("fast"); 
     // Expand/Collapse <div>' when "Post Reply" is clicked 
     $(this).closest('.blogcontainer').find('.postreplycontainer').slideToggle("fast") 
      // Focus <textarea> when <div> is expanded 
      .find('textarea[name=postcontent]').focus(); 
    }); 
}); 
+0

爲什麼這會被壓低? – Draven

+0

我沒有downvote,但它不是一個很好的方法,只使用鏈接到網站,而沒有在這裏發佈代碼(它看起來很糟糕,也違反了一些規則)。請更具體地瞭解你如何更新textareas – Spokey

+0

@Spokey我看到了。好吧,謝謝你讓我知道。我也更新了我的帖子,以顯示我用來更新'