Показать сообщение отдельно
  #1 (permalink)  
Старый 08.06.2016, 22:18
Аспирант
Отправить личное сообщение для Salvat Посмотреть профиль Найти все сообщения от Salvat
 
Регистрация: 22.02.2016
Сообщений: 98

undefined в POST запросе
Здравствуйте. Имеется форма на 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+'">&nbsp;';
                        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. В другие при клике по смайлику их не отображает, но если перетащить мышкой, тогда отобразятся.

Последний раз редактировалось Salvat, 08.06.2016 в 22:24.
Ответить с цитированием