|
|
|
| Наприер в БД гостевой с атрибутом tinytext вписывается только 255 символов.
У меня два вопроса:
1. Как можно реализовать обратный отсчет символов (например 255, 254, 253 и т.д.), так чтобы user видел этот отчет?
2. Как сделать чтобы user не мог вписать больше данных, а при привешении лимита, ему либо выводило предупреждение сразу , либо потом при добавление сообщения в БД, либо, что еще лудше просто не давала вбить символы больше чем задано лимитом?
Заранее благодарен! | |
|
|
|
|
|
|
|
для: ruler
(29.10.2007 в 22:36)
| | Вообще тебе в другой раздел. Необходимо javascript
максимальное значение поле ввода ты можешь задать с помощью maxlength
например,
<input name="text" type="text" maxlength="5" />
|
| |
|
|
|
|
|
|
|
для: ProtoTeeP
(29.10.2007 в 22:45)
| | >
><input name="text" type="text" maxlength="5" />
>
|
Ну это понятно, а если поле
<TEXTAREA type=text name=msg COLS="30" ROWS="3"></TEXTAREA>
|
Тогда как ограничить | |
|
|
|
|
|
|
|
для: Ruler
(29.10.2007 в 22:50)
| | если только через js (я его не знаю)
а если через PHP
примерно так:
<?
$max_msg = 200;
if(!empty($_POST['msg']) && strlen($_POST['msg']) > $max_msg)
{
echo 'Сообщение слишком длинное. Максимально разрешено: '.$max_msg;
exit();
}
?>
|
| |
|
|
|
|
|
|
|
для: ProtoTeeP
(29.10.2007 в 23:02)
| | Спасибо, и за это!
Стрно а что я сам то не додумался. Наверно просто не хотел немножко подумать. | |
|
|
|
|
|
|
|
для: Ruler
(29.10.2007 в 22:50)
| |
<TEXTAREA type=text name=msg COLS="30" ROWS="3" onKeyUp="this.value=this.value.substr(0, 100)"></TEXTAREA>
|
| |
|
|
|
|
|
|
|
для: ruler
(29.10.2007 в 22:36)
| | >что еще лудше просто не давала вбить символы больше чем задано лимитом?
<input type=text name=name maxlength="200">
|
| |
|
|
|
|
|
|
|
для: Faraon
(30.10.2007 в 08:51)
| | Посмотрите как сделано на этой странице: http://sprosite.ru/board/add/ . Там и для текстовых полей и для textarea. | |
|
|
|
|
|
|
|
для: ruler
(29.10.2007 в 22:36)
| | >1. Как можно реализовать обратный отсчет символов (например 255, 254, 253 и т.д.), так чтобы user видел этот отчет?
Что типа такого
<html>
<head></head>
<body onload="count()">
<div id="con"></div>
<SCRIPT LANGUAGE="JavaScript">
<!--
var i=255;
var h;
var a=document.getElementById('con');
function count()
{
a.innerHTML="Отсчет "+i;
h=setInterval('cons()',1000);
}
function cons()
{ i--;
a.innerHTML="Отсчет "+i;
if (i<1)
{
clearInterval(h);
a.innerHTML="Отсчет закончен!";
}
}
//-->
</SCRIPT>
</body>
</html>
|
Или Вы имели ввиду отсчет набранных символов ? | |
|
|
|
|
|
|
|
для: Faraon
(30.10.2007 в 15:01)
| | Можно проще.
<textarea cols="30" rows="3" onkeyup="getElementById('id').innerHTML = 255 - this.value.length"></textarea>
|
| |
|
|
|
|
|
|
|
для: sim5
(30.10.2007 в 15:08)
| | И добавить, чтобы в минус не пошло ;)
<textarea cols="30" rows="3" onkeypress="getElementById('id').innerHTML = 255 - this.value.length;this.value=this.value.substr(0, 255)"></textarea>
<br>
<div id="id"></div>
|
| |
|
|
|
|
|
|
|
для: Faraon
(30.10.2007 в 16:08)
| | Точно, упустил. | |
|
|
|
|
|
|
|
для: sim5
(30.10.2007 в 16:25)
| | Спасибо за большое количество вариантов, Последний мне очень помог.
<textarea cols="30" rows="3" onkeypress="getElementById('id').innerHTML = 255 - this.value.length;this.value=this.value.substr(0, 255)"></textarea>
<br>
<div id="id"></div>
|
А как теперь здесь сделать чтобы при нажатии клавиши Backspace и Delete user видел этот же отсчет, но с увеличениме(24,25,26 и т.д.) | |
|
|
|
|
|
|
|
для: Ruler
(30.10.2007 в 18:25)
| | Пошла масть, теперь реверсивного счетчика охота.) А зачем, если разговор про это же поле, то при удалении сивола, показания <div id="id"></div> увеличатся на единицу, правда при повторном нажатии, это маленькое неудобство, но считать будет правильно. Записать лучше так, тогда не будет отрицательного значения в показании:
<textarea cols="30" rows="3" onkeypress="if (this.value.length <= 255) getElementById('id').innerHTML = 255 - this.value.length; else return false;"></textarea>
<br>
<div id="id"></div>
|
Если нужно будет сброс делать, то лучше все в отдельной функции описать, мне так кажется. | |
|
|
|