[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как подсчитать и показать кол-во введенных знаков
Guest
Здравствуйте!
В админской зоне сайта я хочу рядом с окнами редактирования (meta_k и meta_d) иметь по масенькому окошечку, показывающему количество уже введенных символов или количество оставшихся для ввода символов. Какую функцию прописать для этого окошечка на форме? Вот часть кода формы:
print <<<HERE
<form name='form1' method='post' action='update_article.php'>

<p
class='p2'>
<label>
Новое название статьи<br>
<input
value="$myrow[title]" type="text" name="title" id="title" size="20">
</label>
</p>
<p
class='p2'>
<label>
Введите краткое описание<br>
<input
value="$myrow[meta_d]" type="text" name="meta_d" id="meta_d" size="80">
</label>
</p>
<p
class='p2'>
<label>
Введите ключевые слова<br>
<input
value="$myrow[meta_k]" type="text" name="meta_k" id="meta_k" size="80">
</label>
</p>

Спасибо.

p.s. Забыл условие: надо, чтобы количество знаков в окошечке менялось сразу же после ввода очередного знака. Как в приложении Word.

p.p.s Сайт сделан в charset=windows-1251



Спустя 37 минут, 1 секунда (12.10.2010 - 13:50) sergeiss написал(а):
Это тебе надо на JS делать. Берешь событие onkeyup и для него делаешь функцию на JS, которая подсчитывает количество знаков и выводит его куда надо. Буквально в одну строку всё получится smile.gif
Причем, можно сделать одну внешнюю функцию для всех инпутов, а можно сделать "ин-лайн" для каждого инпута.

Спустя 7 минут, 42 секунды (12.10.2010 - 13:58) linker написал(а):
Вот похожая тема http://phpforum.ru/index.php?showtopic=34854

Спустя 11 минут, 56 секунд (12.10.2010 - 14:10) aH6y написал(а):
вот

надеюсь я не нарушил какие-либо правила)

Спустя 18 минут, 5 секунд (12.10.2010 - 14:28) sergeiss написал(а):
Цитата (aH6y @ 12.10.2010 - 15:10)
надеюсь я не нарушил какие-либо правила

Правила не нарушил smile.gif Но объясни, плз: зачем такой изврат, когда можно сделать всё проще намного, буквально одной строкой?

Спустя 1 час, 12 минут, 12 секунд (12.10.2010 - 15:40) Guest написал(а):
Спасибо всем откликнувшимся!
Сделал как в http://phpforum.ru/index.php?showtopic=34854
Получается немного криво,а именно: правильно работает только в одном инпуте. Когда вставляю в два - не работает в обоих. Вот код (без излишеств):
<head>
<script
language="javascript" type="text/javascript">
function
limitText(limitField, limitCount, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
} else {
limitCount.value = limitNum - limitField.value.length;
}
}

</script>
</head>
<body>

.
.
.
print <<<HERE
<form name='form1' method='post' action='update_article.php'>
<p>
<label>
Введите краткое описание<br>
<input
value="$myrow[meta_d]" type="text"
onKeyDown="limitText(this,this.form.count,255);"
onKeyUp="limitText(this,this.form.count,255);" name="meta_d" id="meta_d" size="80">
</label>

осталось символов:<input readonly type="text" name="count" size="3" value="255">
</p>

<p>
<label>
Введите ключевые слова<br>
<input
value="$myrow[meta_k]" type="text"
onKeyDown="limitText(this,this.form.count,255);"
onKeyUp="limitText(this,this.form.count,255);" name="meta_k" id="meta_k" size="80">
</label>

осталось символов:<input readonly type="text" name="count" size="3" value="255">
</p>

.
.
.
</form>
HERE;

Что тут не так?

Спустя 44 секунды (12.10.2010 - 15:41) Guest написал(а):
sergeiss
а как это - в одну строчку для каждого инпута?

Спустя 12 минут, 27 секунд (12.10.2010 - 15:53) sergeiss написал(а):
У меня есть такой "бзик"... Если человек сам не поработал, то я ему ничего писать не буду... Но тут как раз ты поработал, поэтому пишу smile.gif

"В одну строку" я имел ввиду следующее (только информация о количестве, без анализа остатка):
Введено символов : <input id="info"  /><br />
<input
type="text" onkeyup="document.getElementById('info').value=this.value.length" />

Или так:
Введено символов : <label id="info2">Тут будет показываться количество введенных символов</label><br />
<
input type="text" onkeyup="document.getElementById('info2').innerHTML=this.value.length" />

То же самое можно написать для каждого инпута, где вводятся данные. Выводить информацию о количестве можно тоже где угодно.

А твоя функция да, кривовата smile.gif


PS. В качестве подсказки для получения остатка (поймешь, как работает и переделаешь под себя):
Введено символов : <label id="info2">Тут будет показываться количество введенных символов</label><br />
<
input type="text" onkeyup="document.getElementById('info2').innerHTML=this.value.length+', '+this.size" size="25" />



PS. Подумал тут и понял, что тему надо в раздел JS перенести. Перенёс.

Спустя 3 часа, 44 минуты, 25 секунд (12.10.2010 - 19:38) Guest написал(а):
sergeiss
Спасибо! Сделал под себя. Всё работает!

p.s. По поводу бзика: одобряю. Я сам такой. Это в сайтах я новичок.
А в AutoCAD, Excel и некоторых других приложениях собаку съел. Породистую smile.gif И так же точно на соответствующих форумах (dwg.ru, planetaexcel.ru и иже с ними )помогаю только действующим и ищущим.

p.p.s ИМХО, мой вопрос решён. Тему можно закрывать. Всем спасибо за участие. И - удачи!

Спустя 41 минута, 7 секунд (12.10.2010 - 20:19) sergeiss написал(а):
Guest - ну ты заходи, если чё smile.gif Подскажем, направим на путь истинный smile.gif

Спустя 14 часов, 28 секунд (13.10.2010 - 10:19) aH6y написал(а):
Цитата (sergeiss @ 12.10.2010 - 14:28)
Цитата (aH6y @ 12.10.2010 - 15:10)
надеюсь я не нарушил какие-либо правила

Правила не нарушил smile.gif Но объясни, плз: зачем такой изврат, когда можно сделать всё проще намного, буквально одной строкой?

ну может кому-то захочеться сделать красиво с визуальным оформлением)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.