<style type="text/css">
.progress{
ширина: 1 пиксель;
высота: 14 пикселей;
цвет: белый;
размер шрифта: 12 пикселей;
переполнение: скрыто;
цвет фона: темно-синий;
отступ слева: 5 пикселей;
}
</style>
<script type="text/JavaScript">
function textCounter(field,counter,maxlimit,linecounter) {
// ширина текста//
var fieldWidth = parseInt(field.offsetWidth);//Метод parseInt возвращает целое число, преобразованное из строки. Преобразовать строку в целое число.
//obj.offsetWidth относится к абсолютной ширине самого элемента управления obj, исключая часть, не отображаемую из-за переполнения, то есть ширину, которую он фактически занимает, целое число, единичный пиксель
var charcnt = field.value.length
// обрезаем лишний текст;
if (charcnt > maxlimit) {
поле.значение = поле.значение.подстрока(0, максимальный предел);
}
еще {
// процент индикатора выполнения
var процент = parseInt(100 - (( maxlimit - charcnt) * 100)/maxlimit);
document.getElementById(counter).style.width = parseInt((fieldWidth*percentage)/100)+"px";
document.getElementById(counter).innerHTML="Потеряно: "+percentage+"%"
// коррекция цвета по стилю из CCFFF -> CC0000
setcolor(document.getElementById(counter),percentage,"background-color");
}
}
function setcolor(obj,percentage,prop){
obj.style[prop] = "rgb(80%,"+(100-процент)+"%,"+(100-процент)+"%)";
}
</script>
<p>Ограничение: 120 байт</P>
<form>
<textarea rows="5" cols="40" name="maxcharfield" id="maxcharfield"
onKeyDown="textCounter(this,'progressbar1',120)"
onKeyUp="textCounter(this,'progressbar1',120)"
onFocus="textCounter(this,'progressbar1',120)" ></textarea><br />
<div id="progressbar1" class="progress"></div>
<script>textCounter(document.getElementById(" maxcharfield"),"progressbar1",120)</script>
</form>