あなたが持っているとしましょう:
<div id='mydivparent'>
Some text here
<div>
<img src='images/mypic.jpg' id='mydiv' onclick='editr(this)' />
</div>
</div>
要件が示唆するように行うには、以下のJSコードで十分なアプローチがあります。
<script>
function editr(obj)
{
var id = $(obj).attr('id');
var text = $('#mydiv'+parent).text();
$('#mydiv'+parent).empty();
$('#mydiv'+parent).append('<form action='form_processor.php' onsubmit="send_ajax($('textarea#'+id+').value)"><textarea id='+id+'>'+text+'</textarea><input type='submit' value='Save Text'></form>');
}
function send_ajax(txtValue){
$.ajax({
url: 'form_processor',
cache: false;
type: 'POST',
data: {'text': txtValue},
success: function(){
//Code to add the text to the div and delete the textarea returning it to a normal div
}
});
return false;
}
</script>
イメージIDからdivのIDに簡単にアクセスできるように、divとイメージIDに名前を付ける方法を覚えておく必要があります。独自のプロトコルを使用して、画像IDを持っている場合は、関連付けられたdiv idを取得できるようにするか、親を選択するのと同じくらい簡単に画像をdiv内に配置できるようにする必要があります。
編集後、ユーザーの後にajax用に設定できます。
コードは、たとえば最初に開いたテキストエリアを保存する前に別の画像をクリックした場合など、すべての状況を完全に網羅しているわけではありませんが、取るべきアプローチの正しい道にあなたを導くと信じています。