Как заполнить 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, время: 13:05. |