Как заполнить textarea только если он пустой?
Привет всем!
Задам наверное очень глупый вопрос, поскольку я полный 0 к java. У меня есть поле <textarea cols="60" rows="15" name="comment" id="edit-comment" class="form-textarea"></textarea> И я хочу вставить в него текст-подсказку, типа "Введите тут комментарий." Нашел тут https://jsfiddle.net/h5n7derg/ хороший скрипт. Написал так: <script type="text/javascript"> (function($){ $(function(){ var comment = $('#edit-comment'); var message = 'Введите тут комментарий.'; if (comment.val('')) { comment.val(message); } comment.one('focus', function(){comment.val('')}); }); })(jQuery); </script> Всё чудесно работает, но, если при вводе комментария пользователь допустит какую-нибудь ошибку, типа не правильно введёт капчу и страница перезагрузится, то если раньше сохранялся текст комментария, то теперь введённый комментарий затирается текстом из скрипта (при этом, если посмотреть html-код страницы, то введённый текст есть в поле). Как сделать так, чтобы скрипт проверял, заполнено ли поле, и если нет, то вставлял туда свой текст. Порывшись в интернете я сделал так: <script type="text/javascript"> if ($('#edit-comment').val('')) { (function($){ $(function(){ var comment = $('#edit-comment'); var message = '<?php print t('commm'); ?>'; if (comment.val('')) { comment.val(message); } comment.one('focus', function(){comment.val('')}); }); })(jQuery); }; </script> Но, не работает. Пожалуйста, напишите, как правильно это сделать. |
Вот, вроде так заработало:
<script type="text/javascript"> if ($('#edit-comment').val() =='') { (function($){ $(function(){ var comment = $('#edit-comment'); var message = '<?php print t('commm'); ?>'; if (comment.val('')) { comment.val(message); } comment.one('focus', function(){comment.val('')}); }); })(jQuery); } </script> Но, буду признателен, если проверите. Вдруг я что-то не учёл тут. |
Oleg0,
<textarea cols="60" rows="15" name="comment" id="edit-comment" class="form-textarea" placeholder="Введите тут комментарий"></textarea> |
С placeholder, к сожалению, не получилось у меня сделать. Эта форма комментариев движком генерируется, и придется копаться в движке.
|
Oleg0,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $(function() { $('#edit-comment').attr({'placeholder':'Введите тут комментарий'}); }); </script> </head> <body> <textarea cols="60" rows="15" name="comment" id="edit-comment" class="form-textarea" ></textarea> </body> </html> |
рони, Да, спасибо, так вроде лучше!
|
Часовой пояс GMT +3, время: 07:06. |