Strict Standards: Resource ID#35 used as offset, casting to integer (35) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#38 used as offset, casting to integer (38) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Как поставить резалку на textarea?
ТвойWeb » WebMaster класс » HTML » Как поставить резалку на textarea?

Страниц (1): [1]
 

1. Alone - 08 Марта, 2005 - 02:42:18 - перейти к сообщению
Мне в гостевой надо поставить резалку. Т.е. чтобы в textarea можно было ввести только например 300 символов.

Например в box резалка режет:
CODE:
<input class=box type=text name=www maxlength=20 size=40>


А в textarea нет:
CODE:
<textarea name=text maxlength=300 cols=55 rows=10></textarea>


Как это сделать?
2. TvoyWeb - 08 Марта, 2005 - 04:37:56 - перейти к сообщению
Alone
Голым HTML'ом не обойтись.
Нужно юзать JS. Вот пример
CODE:
<html>
<head>
<title>Лимит размера текста в Textarea</title>
</head>
<body>
<script language="javascript">
<!--
function Check_Length()
{
text = document.TestForm.TestArea.value;
text_num = text.length;
maxtext_num = 25;//максимальное кол-во символов в сообщении
if (text_num >= maxtext_num ){
document.TestForm.TestArea.value = text.substring(0,25);
}
}
//-->
</script>
<form name="TestForm">
<textarea name="TestArea" cols="65" rows="5" maxlength="50" onKeyUp="Check_Length()" onChange="Check_Length()"></textarea>
</form>
</body>
</html>

думаю разберешься Улыбка
3. ETC - 08 Марта, 2005 - 05:01:40 - перейти к сообщению
А чё, у textarea maxlength нету? Чё-то я не помню...
4. TvoyWeb - 08 Марта, 2005 - 05:13:50 - перейти к сообщению
ETC пишет:
А чё, у textarea maxlength нету?

Нету как ни странно Улыбка
5. Alone - 08 Марта, 2005 - 07:07:19 - перейти к сообщению
TvoyWeb
Хороший скриптик. Но чё-то я не понял - когда вставляешь в форму текст из буфера обмена - он не режится. Режется только если набираешь текст в форме вручную.
Может есть ещё варианты? Если нет, то как мне её разместить сюда:
CODE:
$f->box("* $L[your_name]:name maxlength=10", $_COOKIE['name']);
$f->box("$L[your_email]:mail maxlength=20", $_COOKIE['mail']);
$f->box("$L[your_url]:www maxlength=20", $_COOKIE['www']);
$f->box("$L[your_city]:city maxlength=15", $_COOKIE['city']);
$f->area("* $L[sign_message]:text");


Пробовал так:
CODE:
$f->box("* $L[your_name]:name maxlength=10", $_COOKIE['name']);
$f->box("$L[your_email]:mail maxlength=20", $_COOKIE['mail']);
$f->box("$L[your_url]:www maxlength=20", $_COOKIE['www']);
$f->box("$L[your_city]:city maxlength=15", $_COOKIE['city']);
$f->area("* $L[sign_message]:text
<script language="javascript">
<!--
function Check_Length()
{
text = document.TestForm.TestArea.value;
text_num = text.length;
maxtext_num = 25;//максимальное кол-во символов в сообщении
if (text_num >= maxtext_num ){
document.TestForm.TestArea.value = text.substring(0,25);
}
}
//-->
</script>
");

Но так не работает.
6. TvoyWeb - 08 Марта, 2005 - 07:27:29 - перейти к сообщению
Alone пишет:
Но чё-то я не понял - когда вставляешь в форму текст из буфера обмена - он не режится.

А ты попробуй нажать кнопку или сфокусировать фокус н адругой части страницы, либо просто нажать любую клавишу.
Alone пишет:
Но так не работает.

Цитата:
document.TestForm.TestArea.value;

TestForm - значение параметра name самой формы.
TestArea - значение параметра name текстового поля textarea
7. kvalitet - 05 Июня, 2005 - 02:33:51 - перейти к сообщению
CODE:
<html>
<head>
<title>Лимит размера текста в Textarea</title>
</head>
<body>
<script language="javascript">
<!--
function Check_Length()
{
text = document.TestForm.TestArea.value;
text_num = text.length;
maxtext_num = 25;//максимальное кол-во символов в сообщении
if (text_num >= maxtext_num ){
document.TestForm.TestArea.value = text.substring(0,25);
}
}
//-->
</script>
<form name="TestForm">
<textarea name="TestArea" cols="65" rows="5" maxlength="50" onKeyUp="Check_Length()" onChange="Check_Length()"></textarea>
</form>
</body>
</html>


А как быть если на странице несколько textarea и нужно проконтролировать каждое на длинну ввода (макс. кол-во символов допустим должно быть одинаковым для всех этих textarea)?
8. TvoyWeb - 05 Июня, 2005 - 03:16:24 - перейти к сообщению
В каждой форме на событие ставишь вызов функции Check_Length('TestForm'Подмигивание с текущим именем формы.
9. kvalitet - 05 Июня, 2005 - 15:11:06 - перейти к сообщению
Такое не пойдёт. Форма - одна, а не несколько, и в ней несколько разных полей textarea. Вот под это можно такое приспособить? Недовольство, огорчение
10. TvoyWeb - 05 Июня, 2005 - 15:51:16 - перейти к сообщению
Тогда так:
CODE:
<html>
<head>
<title>Лимит размера текста в Textarea</title>
</head>
<body>
<script language="javascript">
<!--
function Check_Length(AName)
{
text = document.TestForm.elements[AName].value;
text_num = text.length;
maxtext_num = 5;//максимальное кол-во символов в сообщении
if (text_num >= maxtext_num ){
document.TestForm.elements[AName].value = text.substring(0,5);
}
}
//-->
</script>
<form name="TestForm">
<textarea name="TestArea" cols="35" rows="3" maxlength="50" onKeyUp="Check_Length(this.name)" onChange="Check_Length(this.name)"></textarea>
<textarea name="TestArea1" cols="35" rows="3" maxlength="50" onKeyUp="Check_Length(this.name)" onChange="Check_Length(this.name)"></textarea>
<textarea name="TestArea2" cols="35" rows="3" maxlength="50" onKeyUp="Check_Length(this.name)" onChange="Check_Length(this.name)"></textarea>
</form>
</body>
</html>

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0334]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33