Показать сообщение отдельно
  #1 (permalink)  
Старый 03.04.2010, 08:32
Аспирант
Отправить личное сообщение для Эллурн Посмотреть профиль Найти все сообщения от Эллурн
 
Регистрация: 31.03.2010
Сообщений: 30

А сколько элементов в INPUT'е?
Ситуёвина такая:
Код:
<tr>
	<td align="center"><b><i>Имя новости </i></b></td>
	<td><input name="news_name" id="news_name" maxlength=50 size=50 onfocus="fdinamicdescr(this)" onkeypress="dinamicdescr(this)" onblur="cleardd(this)" descr="Введите заголовок новости. Обязательное поле. У вас осталось символов: "></td>
	<td width=3%>&nbsp </td>
	<td id="news_namedescr" width=33%>&nbsp </td>
</tr>
И таких полей для ввода три (имя ячейки таблицы после каждого поля равно имя поля+descr)

Вот это у меня происходит по событию onKeypress:
Код:
function dinamicdescr(myself) {
                descfield = myself.name+"descr"
		maxlength=myself.getAttribute("maxlength")
		element=document.getElementById(descfield)
		m=maxlength-myself.value.length
		element.innerHTML=myself.getAttribute("descr")+m
        }
Можете попробовать сами, код оригинальностью не пахнет. Тогда увидите, что происходит следующее: при первом нажатии на кнопку внутри поля ввода, в ячейке таблицы рядом с ним никаких изменений не происходит. Как было, в данном случае - 50, так и осталось. Если же стереть введенный символ, то получится 49!!! Другими словами, реализация подсчета на экране запаздывает всегда на 1 символ. Подскажите, пожалуйста, как можно пофиксить этот баг?

Последний раз редактировалось Эллурн, 03.04.2010 в 08:39.
Ответить с цитированием