PHP/MySQL을 사용하여 블로그를 만들고 있는데 편집 게시 기능이 있습니다.텍스트 영역에 내용이있는 경우 자동 확장 div
"편집"을 클릭하면 페이지가 새로 고침 (같은 페이지로 이동하지만 URL이 변경됨), <div>
이 확장되고 편집하려는 게시물의 텍스트가 이제 <textarea>
에 표시됩니다.
다른 SO 사용자의 도움을 받아이 작업을 수행했습니다. 문제는 편집 가능한 텍스트를 모든 <texarea>
상자에 넣는 것입니다. 나는이 작업을하는 방법에 대한 몇 가지 생각을 가지고 있지만 내가 jQuery를 또는 아약스 좋은 아니에요 때문에 그것을 할 방법을 모르는 http://thebulb.daysofthedead.net/testing.php
:
- 추가 여기
는 작업 예제 ID를
<textarea>
에 편집 가능한 내용으로 입력하고 ID를 jQuery 스크립트에 전달합니다. - 페이지를 변경하지 말고 Ajax를 사용하여
<textarea>
에 편집하려는 텍스트를 삽입하십시오. - "편집"을 클릭하면 제출 양식이있는
<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();
});
});
왜 투표가 중단 되었습니까? – Draven
나는 downvote하지 않았지만 코드를 여기에 게시하지 않고 사이트에 대한 링크 만 사용하는 것은 좋은 접근법이 아닙니다 (일부 규칙에 대해서는 심하게 보입니다). 그리고 당신이 텍스트 영역을 어떻게 업데이트하는지 더 자세히 말하십시오 – Spokey
@ Spokey I see. 나에게 알려 줘서 고마워. 또한 게시물을 업데이트하여'