Jquery / Javascript: добавление картинок и текста динамически

0

Простите меня, если это простой вопрос, но я новичок в JQuery/Javascript. Я хотел бы знать, как я могу добавить изображение и комментарий одновременно с одним нажатием клавиши ввода. Я имею в виду: пользователь вводит комментарий в текстовом поле, попадает в него и его/ее комментарий появляется в div вместе с именем пользователя. Я хочу, чтобы изображение профиля, соответствующее этому пользователю, также появилось, а также возможность оценивать или любить комментарий. До сих пор я получил следующее:

$(document).ready(function() {
    $('.comment').keyup(function(e) {
        if (e.keyCode == 13){
            var post_id = $(this).attr('post_id');
            var comment = $(this).val();
            $(this).val('');
            $.post('../php_includes/comment.php', {post_id: post_id, comment: comment});
            $(this).parent().children('.comments').append("<div class='view'><?php echo $_username;?> remarks: " + comment + "</div>");     
        }
    });
});

Это работает. В div появится "view": примечание пользователя: комментарий. Однако, когда я это делаю:

$(document).ready(function() {
    $('.comment').keyup(function(e) {
        if (e.keyCode == 13){
        var post_id = $(this).attr('post_id');
        var comment = $(this).val();
        $(this).val('');
            $.post('../php_includes/comment.php', {post_id: post_id, comment: comment});
        $(this).parent().children('.comments').append("<div class='view'><?php echo $vis_pic;?><?php echo $_username;?> remarks: " + comment + "</div>");       
        }
    });
});

($ vis_pic, содержащий путь к userpic) ничего не происходит - он даже не очищает текстовое поле. Я попытался добавить, добавить, объявить html в переменной - он просто не хочет его есть. Кроме того, когда я добавляю переменную php для отображения скорости и любимых параметров после добавления комментария, он ничего не делает. Это сводит меня с ума, когда я пробирался по всему Инет пару дней, и ничего не работает. Опять же, извините, если это простой вопрос. Заранее благодарю вас за ваши усилия.

  • 0
    Вместо показа php-кода вы должны показать результат его оценки. Я думаю, проблема в том, что $vis_pic содержит кавычки, которые вы должны избегать.
  • 0
    Это содержимое $ vis_pic: $ vis_pic = "<img class = \" commentpic \ "src = \" ../ user / $ _ userv / mini_profilepic.jpg \ ">";
Теги:

1 ответ

0
Лучший ответ

Вместо того, чтобы показывать php-код, вы должны показать результат его оценки. Я думаю, проблема заключается в том, что $vis_pic содержит двойные кавычки, которые вы должны избегать:

<?php echo str_replace('"', '\"', $vis_pic); ?>

Возможно, вы также можете использовать addlashes

Редактировать:

Вы говорите, что $vis_pic содержит

$vis_pic ="<img class=\"commentpic\" src=\"../user/$_userv/mini_profilepic.jpg\">";

Проблема в том, что вы избежали цитат для php, но когда вы используете echo $vis_pic, php не печатает \, поэтому ваш код будет echo $vis_pic образом:

.append("<div class='view'><img class="commentpic" src="../user/[userv]/mini_profilepic.jpg"> remarks: " + comment + "</div>");
  • 0
    Круто, я попробую это - спасибо!
  • 0
    Да! Это сработало! Большое вам спасибо, Ориоль!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню