Jquery / Javascript:动态添加图片和文本

时间:2013-10-06 16:04:20

标签: javascript php jquery

请原谅我这是一个简单的问题,但我是Jquery / Javascript的新手。我想知道的是如何在输入键上按一下同时添加图像和注释。 我的意思是:用户在textarea中输入评论,点击输入,他/她的评论与用户名一起显示在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中出现“视图”:用户名备注:评论。但是,当我这样做时:

$(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的路径)没有任何反应 - 它甚至没有清除textarea。我试图追加,前置,在变量中声明html - 它只是不想吃它。此外,当我添加php变量以在添加注释后显示速率和收藏选项时,它什么都不做。这让我疯狂,因为我现在在整个Inet上扫了几天,似乎什么都没有用。再次,抱歉,如果这是一个简单的问题。非常感谢您的努力。

1 个答案:

答案 0 :(得分:0)

您应该显示评估它的结果,而不是显示PHP代码。我认为问题是$vis_pic包含你应该转义的双引号:

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

也许你也可以使用addslashes

编辑:

您说$vis_pic包含

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

问题在于您转义了php的引号,但是当您使用echo $vis_pic时,php不会打印\,因此您的代码变为:

.append("<div class='view'><img class="commentpic" src="../user/[userv]/mini_profilepic.jpg"> remarks: " + comment + "</div>");