В админской зоне сайта я хочу рядом с окнами редактирования (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, которая подсчитывает количество знаков и выводит его куда надо. Буквально в одну строку всё получится 
Причем, можно сделать одну внешнюю функцию для всех инпутов, а можно сделать "ин-лайн" для каждого инпута.

Причем, можно сделать одну внешнюю функцию для всех инпутов, а можно сделать "ин-лайн" для каждого инпута.
Спустя 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) |
надеюсь я не нарушил какие-либо правила |
Правила не нарушил

Спустя 1 час, 12 минут, 12 секунд (12.10.2010 - 15:40) Guest написал(а):
Спасибо всем откликнувшимся!
Сделал как в http://phpforum.ru/index.php?showtopic=34854
Получается немного криво,а именно: правильно работает только в одном инпуте. Когда вставляю в два - не работает в обоих. Вот код (без излишеств):
Что тут не так?
Сделал как в 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 написал(а):
У меня есть такой "бзик"... Если человек сам не поработал, то я ему ничего писать не буду... Но тут как раз ты поработал, поэтому пишу 
"В одну строку" я имел ввиду следующее (только информация о количестве, без анализа остатка):
Или так:
То же самое можно написать для каждого инпута, где вводятся данные. Выводить информацию о количестве можно тоже где угодно.
А твоя функция да, кривовата
PS. В качестве подсказки для получения остатка (поймешь, как работает и переделаешь под себя):
PS. Подумал тут и понял, что тему надо в раздел JS перенести. Перенёс.

"В одну строку" я имел ввиду следующее (только информация о количестве, без анализа остатка):
Введено символов : <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" />
То же самое можно написать для каждого инпута, где вводятся данные. Выводить информацию о количестве можно тоже где угодно.
А твоя функция да, кривовата

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 и некоторых других приложениях собаку съел. Породистую
И так же точно на соответствующих форумах (dwg.ru, planetaexcel.ru и иже с ними )помогаю только действующим и ищущим.
p.p.s ИМХО, мой вопрос решён. Тему можно закрывать. Всем спасибо за участие. И - удачи!
Спасибо! Сделал под себя. Всё работает!
p.s. По поводу бзика: одобряю. Я сам такой. Это в сайтах я новичок.
А в AutoCAD, Excel и некоторых других приложениях собаку съел. Породистую

p.p.s ИМХО, мой вопрос решён. Тему можно закрывать. Всем спасибо за участие. И - удачи!
Спустя 41 минута, 7 секунд (12.10.2010 - 20:19) sergeiss написал(а):
Guest - ну ты заходи, если чё
Подскажем, направим на путь истинный


Спустя 14 часов, 28 секунд (13.10.2010 - 10:19) aH6y написал(а):
Цитата (sergeiss @ 12.10.2010 - 14:28) | ||
Правила не нарушил ![]() |
ну может кому-то захочеться сделать красиво с визуальным оформлением)