Простите меня, если это простой вопрос, но я новичок в 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 для отображения скорости и любимых параметров после добавления комментария, он ничего не делает. Это сводит меня с ума, когда я пробирался по всему Инет пару дней, и ничего не работает. Опять же, извините, если это простой вопрос. Заранее благодарю вас за ваши усилия.
Вместо того, чтобы показывать 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>");
$vis_pic
содержит кавычки, которые вы должны избегать.