Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как ограничить количество вводимых символов в TEXTAREA
 
 автор: Port_Artur1   (14.01.2007 в 16:41)   письмо автору
 
 

<TEXTAREA ROWS="8" NAME="msg" COLS="40" MAXLENGTH="240"></TEXTAREA>

Я думал, что MAXLENGTH делает именн это. но вводится намного больше символов.

   
 
 автор: ssdmt_   (14.01.2007 в 16:51)   письмо автору
 
   для: Port_Artur1   (14.01.2007 в 16:41)
 

Там где не требуется ввод большого объёма данных ограничивайте число вводимых в HTML-форму символов, за это несёт ответственность параметр maxlength тега input. Например, в следующем текстовом поле ввести можно не более 32 символов:

<input name="user" maxlength="32" value="">

Можно организовать проверку и непосредственно в скрипте:

<?php
// Не будим доверять пользователю, ведь подправить значение maxlength
// можно и на локальной машине
substr($_POST['user'], 0, 32);
?>

   
 
 автор: ddhvvn   (14.01.2007 в 17:04)   письмо автору
 
   для: ssdmt_   (14.01.2007 в 16:51)
 

Вообще-то это в HTML+JS

   
 
 автор: Port_Artur1   (14.01.2007 в 17:26)   письмо автору
 
   для: ddhvvn   (14.01.2007 в 17:04)
 

Почему в input type="TEXT" можно поcтавить ограничение вводимых символов а в <TEXTAREA нет. Если можно, то как это написать.измучился уже!

   
 
 автор: Alph[p]a   (14.01.2007 в 17:30)   письмо автору
 
   для: Port_Artur1   (14.01.2007 в 17:26)
 

Стандартным html это не провернуть)
Лучше делай обработку в скрипте)

   
 
 автор: Port_Artur1   (14.01.2007 в 17:32)   письмо автору
 
   для: Alph[p]a   (14.01.2007 в 17:30)
 

Я понял! А если не втему скриптик никто такой не знает!

   
 
 автор: Alph[p]a   (14.01.2007 в 17:37)   письмо автору
 
   для: Port_Artur1   (14.01.2007 в 17:32)
 

Выше было написано ^

   
 
 автор: ddhvvn   (14.01.2007 в 17:38)   письмо автору
 
   для: Port_Artur1   (14.01.2007 в 17:32)
 

Можно так

<textarea onkeydown="if (strlen(this.innerText) > 250) event.returnValue=false;">

</textarea>

   
 
 автор: Port_Artur1   (14.01.2007 в 18:28)   письмо автору
 
   для: ddhvvn   (14.01.2007 в 17:38)
 

<TD WIDTH="350"><textarea rows="7" cols="40" NAME="msg"
onkeydown="if (strlen(this.innerText) > 25) event.returnValue=false;" ></TEXTAREA></TD>

Позволяет вводить бесконечное множество символов , ну точно больше 100.

А у Вас это работает , или нет?

   
 
 автор: ddhvvn   (14.01.2007 в 19:30)   письмо автору
 
   для: Port_Artur1   (14.01.2007 в 18:28)
 

Нет. Перепутал
на до так

<TD WIDTH="350"><textarea rows="7" cols="40" NAME="msg" 
onkeydown="if (this.innerText.length > 25) event.returnValue=false;" ></TEXTAREA></TD>

   
 
 автор: Alph[p]a   (14.01.2007 в 19:43)   письмо автору
 
   для: ddhvvn   (14.01.2007 в 19:30)
 

и работает как обычно токо в ie(((
да ище если введешь больше 25 символов потом ваще нельзя нич0 отредактироват((
P.S лучше серверная обработка)

   
 
 автор: slim   (19.03.2007 в 19:56)
 
   для: Alph[p]a   (14.01.2007 в 19:43)
 

Я делаю так:
onkeydown='if (this.value.length > 150) this.value=this.value.slice(0,150)'

   
 
 автор: Элла   (23.05.2007 в 19:48)
 
   для: ddhvvn   (14.01.2007 в 19:30)
 

спасибо..! выручили

   
 
 автор: ssdmt_   (14.01.2007 в 19:14)   письмо автору
 
   для: Port_Artur1   (14.01.2007 в 16:41)
 

один единственный правильный на сто процентов вариант:
- дать клиенту набирать сколько хочет, а в обрабатывающем скрипте уже проверять на вшивость данные получ. от пользователя :)

можно и на явескрипте, но! всё равно остаётся РЕАЛЬНАЯ возможность заслать на сервак "бомбу" из 100 символов :) да и ваще поправить явускрипт .. тоже легко на клиенте ..так что только проверка на серваке!

идеологически бессмысленно проверять длины на клиенте .. :)

а вообще если по лёгкому, то копать надо в явескрипт :) там всё должно быть

   
 
 автор: Port_Artur1   (14.01.2007 в 19:55)   письмо автору
 
   для: ssdmt_   (14.01.2007 в 19:14)
 

Спасибо всем, я всё понял буду редактировать на сервере!

   
 
 автор: Саня   (14.01.2007 в 20:20)   письмо автору
 
   для: Port_Artur1   (14.01.2007 в 19:55)
 

> идеологически бессмысленно проверять длины на клиенте .. :)
Это как, идеологически?

Длину на стороне клиента проверять можно и нужно. Для удобства самих пользователей. Но на сервере вам прийдётся в любом случае проверять длину.

   
 
 автор: Alph[p]a   (14.01.2007 в 20:24)   письмо автору
 
   для: Саня   (14.01.2007 в 20:20)
 

>Для удобства самих пользователей.
Ну тут можно обойтись надписью "Не более 25 символов" ну кто не верит можно смело рубить (символы)))))

   
 
 автор: Саня   (14.01.2007 в 21:14)   письмо автору
 
   для: Alph[p]a   (14.01.2007 в 20:24)
 

Одной надписью иногда не обойтись.

   
 
 автор: Port_Artur1   (14.01.2007 в 21:17)   письмо автору
 
   для: Саня   (14.01.2007 в 21:14)
 

Как при редактировании загнать в <textarea текст у меня так но не работет почему-то

<TD WIDTH=\"350\"><textarea rows=\"7\" cols=\"40\" NAME=\"other_rubric\"
value=$edit[other_rubric] ></TEXTAREA></TD>

   
 
 автор: Саня   (14.01.2007 в 21:21)   письмо автору
 
   для: Port_Artur1   (14.01.2007 в 21:17)
 

<?
print '<TD WIDTH="350"><textarea rows="7" cols="40" NAME="other_rubric">'.
      
$edit['other_rubric'].'</TEXTAREA></TD>';

У тега <textarea> не существует параметра value.

   
 
 автор: Port_Artur1   (14.01.2007 в 21:26)   письмо автору
 
   для: Саня   (14.01.2007 в 21:21)
 

Спасибо Санёк. Я понял!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования