Здравствуйте. Имеется форма на php
<form id='submit_wall' name='funforma' >
<p><div class='textarea_stena' id='".$row['id']."' name='comment' tabindex='0' contenteditable='true' ondragend='return true' ></div>
<p> <input type='hidden' name='messageid' id='".$row['id']."' value='".$row['id']."'></p>
<div id='smiles'>
<img src='smile/1.gif'>
<img src='smile/2.gif'>
<img src='smile/3.gif'>
</div>
";
$stena_group .= '<p><a href="javascript:void(0);" onclick="comment( document.getElementById('.$row['id'].').value, '.$row['id'].' );">
Отправить</a> </p>
</form>
Код который отображает смайлики в textarea и отправляет POST запрос скрипту PHP
function comment(text, message_id){
$.ajax({
type: "POST",
url: "profile.php",
data:"comment=" + text+"&messageid="+message_id,
success: function(){
$("ul#wall").prepend("<li style=\"display: none;\">"+ text +"</li>");
$("ul#wall li:first-child").fadeIn();
}
});
return false;
};
var arr = document.getElementById('smiles').getElementsByTagName('img');
for(var i in arr) {
if(arr.hasOwnProperty(i)) {
arr[i].onclick = function(event) {
if('img' === this.tagName.toLowerCase()) {
var img = ' <img class="emoji" src="'+this.src+'"> ';
document.execCommand('insertHTML', false, img);
}
};
}
}
Стиль textarea
.textarea_stena{background:#FFFFFF;color:black;border:1px solid #C0CAD5;width:328px;min-height:
40px;padding:3px 25px 3px 3px;padding-bottom:5px;margin-bottom:3px;
outline:0;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;line-height:150%;word-wrap:break-word;cursor:text;}
.emoji{margin:0px;border:none;vertical-align:top;
}
Сообщения из базы данных выводятся через цикл, где в коде PHP row['id'] - это уникальный ид сообщения.
Смайлики отображаются как необходимо в textarea, только работает код только с самым первым textarea который выводит сообщение из базы данных, с другими почему-то не работает. Так же при попытке отправить POST запрос в базу записывается undefined. Если Вас не затруднит, не могли бы пожалуйста объяснить где моя ошибка с отправкой POST(ошибка undefined) и так же с передачей фокуса разным textarea с уникальными id.
Прикладываю скрин-шот

77,78,79 - это id'ы сообщений, смайлик могут отобразить только в первом 77 textarea. В другие при клике по смайлику их не отображает, но если перетащить мышкой, тогда отобразятся.