2013-06-27 2 views
0

PHP/MySQL을 사용하여 블로그를 만들고 있는데 편집 게시 기능이 있습니다.텍스트 영역에 내용이있는 경우 자동 확장 div

"편집"을 클릭하면 페이지가 새로 고침 (같은 페이지로 이동하지만 URL이 변경됨), <div>이 확장되고 편집하려는 게시물의 텍스트가 이제 <textarea>에 표시됩니다.

다른 SO 사용자의 도움을 받아이 작업을 수행했습니다. 문제는 편집 가능한 텍스트를 모든 <texarea> 상자에 넣는 것입니다. 나는이 작업을하는 방법에 대한 몇 가지 생각을 가지고 있지만 내가 jQuery를 또는 아약스 좋은 아니에요 때문에 그것을 할 방법을 모르는 http://thebulb.daysofthedead.net/testing.php

:

  1. 추가 여기

    는 작업 예제 ID를 <textarea>에 편집 가능한 내용으로 입력하고 ID를 jQuery 스크립트에 전달합니다.

  2. 페이지를 변경하지 말고 Ajax를 사용하여 <textarea>에 편집하려는 텍스트를 삽입하십시오.
  3. "편집"을 클릭하면 제출 양식이있는 <textarea> 상자에 텍스트 상자가 표시됩니다. 내가 찾은 예제를 사용하여 그 부분을 얻을 수 있습니다 (http://jsfiddle.net/25Hay/2/)하지만 그걸 제출 내 PHP 스크립트에 유효성 검사 및 데이터베이스에 삽입하는 방법을 모르겠어요.

다음은 jQuery를 내가 현재 사용의 : 텍스트 영역에 data-id 추가

$(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하지 않았지만 코드를 여기에 게시하지 않고 사이트에 대한 링크 만 사용하는 것은 좋은 접근법이 아닙니다 (일부 규칙에 대해서는 심하게 보입니다). 그리고 당신이 텍스트 영역을 어떻게 업데이트하는지 더 자세히 말하십시오 – Spokey

+0

@ Spokey I see. 나에게 알려 줘서 고마워. 또한 게시물을 업데이트하여'