|
|
|
| Имется такая информация
а вот как воплотить я совсем не знаю помогите пожалуйса!
Знаю только что функция должна вызываться на действие onklick
ДЛИНА СТРОК НЕ БОЛЕЕ 50 СИМВОЛОВ
Как получить количество строк в textarea элементе?
IE4+
function textareaCurLineNum(obj)
{
var rowHeight = obj.clientHeight/obj.rows;
var curHeight = obj.createTextRange().boundingHeight;
return parseInt(curHeight/rowHeight)+(obj.value!=''?1:0);
}Обратите внимание на то, как ведется подсчет строк:
|
если текстовое поле пусто, то функция вернет 0 (хотя курсор и мигает в первой строке), ибо строк реально нет;
если вы нажали "Enter" и курсор переместился в новую строку, то это не значит что, появилась новая строка. Вот когда вы введете в этой строке что-то, то строка действительно появится, и будет учитываться при подсчете.
Пояснения: clientHeight возвращает высоту элемента textarea без учета всех отступов, границ, полос прокрутки;
boundingHeight возвращает размер в пикселах воображаемого пространства, занятого объектом TextRange (в нашем случае данный объект содержит весь текст и соответственно возвращает высоту занимаемую текстом в textarea элементе). | |
|
|
|
|
|
|
|
для: Port_Artur1
(28.11.2007 в 18:47)
| |
<script type="text/javascript">
function countRows(id) {
var area = document.getElementById(id);
var c = 1;
var len = 0;
for ( i = 0; i < area.value.length; i++ ) {
if ( area.value[i] == '\n' ) c++;
if ( c == 5 ) len = i;
}
if ( len > 0 ) area.value = area.value.slice(0, len + 1);
}
</script>
<textarea id="tarea"
onchange="countRows(this.id);"
onkeydown="countRows(this.id);"
rows="10" cols="25"></textarea>
|
| |
|
|
|
|
|
|
|
для: Саня
(29.11.2007 в 19:35)
| | Да не - не работает вводиться бесконечное количество строк без каких либо ограничений!!! | |
|
|
|
|
|
|
|
для: Port_Artur1
(29.11.2007 в 19:41)
| | !!! | |
|
|
|
|
|
|
|
для: Port_Artur1
(29.11.2007 в 19:41)
| | 1. Нахрена передавать в функцию идентификатор, а не ссылку?
2. Ессно, ведь при переводе строки осью не вставляется перевод строки... тут надо наверное считать по ширине букв и поля | |
|
|
|
|
|
|
|
для: bronenos
(29.11.2007 в 23:11)
| | Bronenos поправьте пожалуйста | |
|
|
|
|
|
|
|
для: bronenos
(29.11.2007 в 23:11)
| | Знаете как лучше? Предложите свой вариант! Нечего тут демагогию разводить... | |
|
|
|
|
|
|
|
для: Саня
(30.11.2007 в 00:26)
| | за грубость извиняюсь
но зачем реально передавать ид?
проще ссылку сразу
а насчет решения задачи пока ниче не скажу
не занимался я такими задачами пока что | |
|
|
|