изменение текста для поля ввода с использованием php, mysql и javascript

#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:

  1. один из ответов, который дали многие, — htmlspecialchars() .

  2. когда вы нажимаете на ссылку добавить комментарий . показать текстовую область. когда вы нажмете на отмену, скройте текстовую область и снова покажите ссылку добавить комментарий. я чувствую, что если вы используете jquery, вы можете использовать функции отображения / скрытия.