#php #javascript #jquery
#php #javascript #jquery
Вопрос:
Хорошо, у меня есть некоторые данные, которые заполняются с помощью php-запроса к базе данных. Я получаю комментарии, которые вводит пользователь. Я отображаю возвращенные данные в переменной, как показано ниже. Если комментарий не существует, то в нем будет отображена ссылка «добавить комментарий». Сначала комментарий просто отображается в виде текста. Если комментарий существует, то он будет отображать комментарий вместе со ссылкой «редактировать комментарий».
Это функциональность, которую я ищу: 1) когда вы нажимаете «добавить комментарий», поле ввода будет отображаться слева от ссылки «добавить комментарий», и эта ссылка затем превратится в две ссылки с надписью «сохранить» и «отменить». Я знаю, как сделать ссылку сохранить, но я хотел бы знать, как заставить ссылку «отмена» вернуть область обратно к простой ссылке «добавить комментарий». 2) когда вы нажимаете «редактировать комментарий», я хотел бы, чтобы такая же функциональность была с полем ввода и ссылками «сохранить» и «отменить»; однако я хотел бы, чтобы поле ввода было предварительно заполнено текстом комментариев, который извлекается через переменную comments. Я думаю, возможно, это можно сделать с помощью какого-нибудь css-дисплея, переключающего none и block / inline. Хотя точно не уверен. Любая помощь приветствуется!
PHP-код:
if(!$comments){
echo "<span style='font-size:12px;'>[<a href='#'>Add a Comment</a>]</span>";
}else{
echo "<span style='font-size:12px;'>NOTES: " . $comments . " [<a href='#'>Edit Comment</a>]</span>";
}
Последний вопрос: как мне следует обращаться, если комментарии содержат специальные символы или кавычки? На самом деле, я думаю, мне нужно будет побеспокоиться об этом до создания переменной, правильно? Как мне это сделать? Большое спасибо!
ОБНОВЛЕНИЕ: Я ценю помощь в обработке специальных символов, но мне действительно нужно больше ответов на первые два вопроса. Спасибо за любую дополнительную помощь, которую кто-либо может мне предоставить!
Ответ №1:
ответ на 1-й и 2-й вопрос: вы можете играть с javascript или jquery …. например
создайте 2 раздела
<div id="addcommentBox" style='font-size:12px;'>[<a onclick="$('#addcommentBox').hide();$('#savecommentbox').show();">Add a Comment</a>]</div>
<div id="savecommentbox"><input type="text"/><a href="#">Save</a><a onclick="$('#addcommentBox').show();$('#savecommentbox').hide();">Cancel</a></div>
присвойте свойство css #savecommentbox в качестве отображения: нет;
хотя есть много способов, это самый простой … для редактирования вы также можете следовать тому же коду. просто укажите входное значение в виде $comments
Ответ №2:
Вы должны передать переменную из htmlspecialchars(), прежде чем повторять их.
echo "<span style='font-size:12px;'>
NOTES: " . htmlspecialchars($comments) . "
[<a href='#'>Edit Comment</a>]
</span>";
<textarea name="comment"><?php echo htmlspecialchars($comments);?></textarea>
Ответ №3:
вы можете использовать htmlentities
Ответ №4:
-
один из ответов, который дали многие, — htmlspecialchars() .
-
когда вы нажимаете на ссылку добавить комментарий . показать текстовую область. когда вы нажмете на отмену, скройте текстовую область и снова покажите ссылку добавить комментарий. я чувствую, что если вы используете jquery, вы можете использовать функции отображения / скрытия.